Abstract
A solution method for problems of processing graph data structures is presented. This method is based on the use of the specialized language TreeDL and on its extendable compiler. The capabilities of the language and of the compiler exceed the existing solutions, which makes the proposed method more efficient than its analogs.
Similar content being viewed by others
References
Cosling, J., Joy, B., Steele, G., and Bracha, G., The Java™ Language Specification, Addison-Wesley, 2005.
Standard ECMA-334 C# Language Specification, 4th Edition, June 2006, http://www.ecma-international.org/publications/standards/Ecma-334.htm.
Knut, D., The Art of Programming, Reading, Massachusetts: Addison-Wesley, 1997, vol. 1: Fundamental Algorithms.
Aho, A.V., Hopkroft, J.E., and Ullman, J.D., Data Structures and Algorithms, Reading, Mass.: Addison-Wesley, 1983.
Kas’yanov, V.N. and Evstigneev, V.A., Grafy v programmirovanii: obrabotka, vizualizatsiaya i primenenie (Graphs in Programming: Processing, Visualization, and Application), St. Petersburg: BHV, 2003.
Aho, A.V., Sethi, R., and Ullman, J.D., Compilers: Principles, Techniques, and Tools, Reading, Mass.: Addison-Wesley, 2006.
Slonneger, K. and Kurtz, B.L., Formal Syntax and Semantics of Programming Languages: A Laboratory-Based Approach, New-York: Addison-Wesley, 1995.
Serebryakov, V.A. and Galochkin, M.P., The Basics of Compiler Construction, Editorial URSS, 2001, http://www.citforum.ru/programming/theory/serebryakov/.
Gamma, E., Helm, R., Johnson, R., and Vlassides, J., Design Patterns: Elements of Reusable Object-Oriented Software, Reading, Mass.: Addison-Wesley, 1995.
Domain-Specific Languages: An Annotated Bibliography, http://homepages.cwi.nl/:_arie/papers/dslib/.
Booch, G., Object-Oriented Analysis and Design With Applications, Redwood City, Calif.: Benjamin/Cummings, 1994.
Meyer, B., Object-Oriented Software Construction, Upper Saddle River, N.J.: Prentice Hall, 1997.
Graham, I., Object-Oriented Methods: Principles & Practice, Harlow, England: Addison-Wesley, 2000.
Ernst, E., Family Polymorphism, Lect. Notes Comput. Sci. (Proc. ECOOP-2001), Heidelberg: Springer, 2001, http://portal.acm.org/citation.cfm?id=680013.
Bruce, K.B., Some Challenging Typing Issues in Object-Oriented Languages, Electronic Notes in Theoretical Computer Science, 2003, vol. 82, no. 8, http://citeseer.ist.psu.edu/bruce03some.html.
Jolly, P., Drossopoulou, S., Anderson, C., and Ostermann, K., Simple Dependent Types: Concord (FTfjP accepted version, April, 2004), http://myitcv.org.uk/papers/concord04.html.http://citeseer.ist.psu.edu/article/jolly04simple.html.
Nystrom, N., Chong, S., and Myers, A.C., Scalable Extensibility via Nested Inheritance, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 2004, http://citeseer.ist.psu.edu/nystrom04scalable.html.
Baumgartner, G., Jansche, M., Laufer, K., Half & Half: Multiple Dispatch and Retroactive Abstraction for Java™, Tech. Rep. OSU-CISRC-5/01-TR08, Ohio State University, 2002.
Ingalls, D.H.H., A Simple Technique for Handling Multiple Polymorphism, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 1986, New-York: ACM, 1986, pp. 347–349, http://portal.acm.org/citation.cfm?id=28732.
Visser, J., Visitor Combinationa nd Traversal Control, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 2001, New-York: ACM, 1986, pp. 270–282, http://portal.acm.org/citation.cfm?id=504302.
Mugridge, W.B., Hamer, J., and Hosking, J.G., Multi-Methods in a Statically-Typed Programming Language, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 1991, London: Springer, 1991, pp. 307–324, http://portal.acm.org/citation.cfm?id=679202.
Chambers, C. and Leavens, G.T., Typechecking and Modules for Multi-Methods, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 1994, ftp://ftp.cs.washington.edu/homes/chambers/mmtc.ps.Z.
Millstein, T. and Chambers, C., Modular Statically Typed Multimethods, Lect. Notes Comput. Sci. (Proc. of the XIII European Conf. on Object-Oriented Programming, Lisbon, Portugal, June 14–18, 1999), Springer, 1999, no. 1628, pp. 279–303.
Czarnecki, K. and Eisenecker, U., Generative Programming: Methods, Tools, and Applications, Boston: Addison-Wesley, 2000.
Herrington, J., Code Generation in Action, Manning Publications, 2003.
Kuliamin, V.V., Tekhnologii programmirovaniya. Komponentnyi podkhod (Programming Technologies: Component-Based Approach), Moscow: BINOM, 2006.
Wang, D.C., Appel, A.W., Korn, J.L., and Serra, C.S., The Zephyr Abstract Syntax Description Language. USENIX: Proc. of Conf. on Domain-Specific Languages, October 15–17, 1997, Santa Barbara, California, Berkeley, CA., 1997, pp. 213–228.
Van den Brand, M.G.J., Moreau, P.E., and Vinju, J.J., A Generator of Efficient Strongly Typed Abstract Syntax Trees in Java, IEE Proceedings-Software Engineering, 2005, vol. 152, no. 2, pp. 70–87.
ANTLR—Another Tool for Language Recognition, http://www.antlr.org.
Cocktail Toolbox, http://www.cocolab.com/en/cocktail.html.
Weatherley, R., Treecc: An Aspect-Oriented Approach to Writing Compilers, Free Software Magazine, 2001, no. 2, http://www.southern-storm.com.au/treecc.html.
Grosch, J., Puma—A Generator for the Transformation of Attributed Trees, Tech. Rep. 26, GMD, Karlsruhe, 1991, http://www.cocolab.com/en/cocktail.html#Puma.
De Jong, H.A. and Olivier, P.A., Generation of Abstract Programming Interfaces from Syntax Definitions, J. Logic and Algebraic Programming, 2004, vol. 59, http://www.cwi.nl/themes/senl/twiki/pub/SEN1/Api-Gen/jlap.pdf.
Van Reeuwijk, C., Tm: a Code Generator for Recursive Data Structures, Software —Practice and Experience, 1992, vol. 22, no. 10, http://www.cs.vu.nl/:_reeuwijk/software/Tm/spe92.ps.gz.
W3C, Extensible Markup Language (XML), http://www.w3.org/XML.
W3C, XSL Transformations (XSLT), http://www.w3.org/TR/xslt.
XMLmind XML Editor, http://www.xmlmind.com/xmleditor/.
Fähndrich, M., Rustan, K., and Leino, M., Declaring and Checking Non-null Types in an Object-Oriented Language, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 2003, http://research.microsoft.com/:_leino/papers/krml109.pdf.
Eclipse Platform, http://eclipse.org.
Demakov, A., Satisfiable Subset of the Specification Language and Its Translation, Applications of System Programming: Issues of Cybemetics, Moscow, 1998, no. 4, pp. 17–28.
Bourdonov, I.B., Demakov, A.V., Jarov, A.A., Kossatchev, A.S., Kuliamin, V.V., Petrenko, A.K., and Zelenov, S.V., Java Specification Extension for Automated Test Development, Lect. Notes Comput. Sci. (Proc. of PSI’01), 2001, vol. 2244, pp. 301–307.
Demakov, A., Application of the Technology UniTesK to Testing .NET-Components, Proc. of Conf. Microsoft Technologies in Scientific Research and Higher Education, Moscow, 2003.
Zelenov, S.V., Zelenova, S.A., Kossatchev, A.S., and Petrenko, A.K., Test Generation for Compilers and Other Formal Text Processors, Programmirovanie, 2003, vol. 29, no. 2, pp. 104–111 [Programming Comput. Software (Engl. Transl.), 2003, vol. 29, no. 2, pp. 104–111].
Kuliamin, V.V. and Petrenko, A.K., Applying Model-Based Testing in Different Contexts, Proc. of Seminar on Perspectives on Model Based Testing, Dagstuhl, Germany, 2004.
Arkhipova, M., Generation of Tests for Semantic Analyzers, Preprint of Inst. System Programming, Russ. Acad. Sci., Moscow, 2005, no. 9.
Demakov, A., The Language for Description of Abstract Syntax TreeDL and Its Use, Preprint of Inst. System Programming, Russ. Acad. Sci., Moscow, 2006, no. 17.
Demakov, A., TreeDL: A Language of Describing Graph Data Structures and Operations over Them, Vychislitel’nye metody i programmirovanie, 2006, vol. 7.
Project TreeDL, http://treedl.sourceforge.net.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © A.V. Demakov, 2007, published in Programmirovanie, 2007, Vol. 33, No. 5.
Rights and permissions
About this article
Cite this article
Demakov, A.V. Object-oriented description of graph data structures. Program Comput Soft 33, 261–271 (2007). https://doi.org/10.1134/S0361768807050027
Received:
Issue Date:
DOI: https://doi.org/10.1134/S0361768807050027