ABSTRACT
GOLD (Graph Oriented Language) is a general purpose programming language with mathematical notations and a pseudocode-like syntax for defining and manipulating graphs and other high-level data structures such as sets, trees, and automata. Its syntax was inspired by the one used in classic algorithms textbooks. It allows set comprehensions, quantified expressions, and new control instructions. Its syntax also supports the use of Java defined classes. GOLD programs are translated into Java. Therefore, Java programs can use functions, procedures, and objects defined in GOLD. GOLD was developed as a whole new programming environment for programming and testing algorithms for advanced data structures. All GOLD components were packed into an Eclipse plug-in coded in Java under the Xtext framework. GOLD’s design and implementation can be seen as a case study in language development.
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. The MIT Press, 3rd edition, 2009. Google ScholarDigital Library
- V. Cárdenas Varón. Cset: un lenguaje para composición de conjuntos. Master’s thesis, Universidad de los Andes, Bogotá, Colombia, 2008.Google Scholar
- D. Díaz Herrera. Gold+: lenguaje de programación para la manipulación de grafos: extensión de un lenguaje descriptivo a un lenguaje de programación. Master’s thesis, Universidad de los Andes, Bogotá, Colombia, 2010.Google Scholar
- The Eclipse Foundation. Eclipse IDE, version 3.6.2, 2012. URL http://www.eclipse.org/.Google Scholar
- The Eclipse Foundation. Xtext Language Development Framework, version 2.2.1, 2011. URL http://xtext.itemis. com/.Google Scholar
- M. Fowler and R. Parsons. Domain-Specific Languages. Addison-Wesley, 2011. Google ScholarDigital Library
- D. Gries and F. Schneider. A Logical Approach to Discrete Math. Springer-Verlag, 1993. Google ScholarDigital Library
- Barak Naveh, and contributors. JGraphT: a free Java graph library that provides mathematical graph-theory objects and algorithms, version 0.8.2. 2003--2005. URL http: //jgrapht.sourceforge.net/.Google Scholar
- The JUNG Framework Development Team. JUNG: Java Universal Network/Graph Framework, version 2.0.1, 2010. URL http://jung.sourceforge.net/.Google Scholar
- L. M. Pérez Díez. Gold: un lenguaje orientado a grafos y conjuntos. Master’s thesis, Universidad de los Andes, Bogotá, Colombia, 2009.Google Scholar
- Terence Parr, and collaborators. ANTLR: Another Tool for Language Recognition, version v3.4, 2011. URL http: //www.antlr.org/.Google Scholar
- Susan H. Rodger, and collaborators. JFLAP, version 7.0, 2011 URL http://www.jflap.org/.Google Scholar
- A. Sotelo. Gold 3: Un lenguaje de programación imperativo para la manipulación de grafos y otras estructuras de datos. Master’s thesis, Universidad de los Andes, Bogotá, Colombia, 2011.Google Scholar
- D. Spinellis. Notable design patterns for domain-specific languages. Journal of Systems and Software, 56(1), February 1990. Google ScholarDigital Library
- Mikko Tommila, and collaborators. Apfloat: a high performance arbitrary precision arithmetic library, version 1.6.2, 2011. URL http://www.apfloat.org/.http://2015.splashcon.org/Google Scholar
- Wikipedia. Guarded command language --wikipedia, the free encyclopedia, 2014. URL https://en.wikipedia.org/ w/index.php?title=Guarded_Command_Language&oldid= 622832657. Introduction Features Design Implementation Kernel IDE Class Library Testing Conclusions and Future WorkGoogle Scholar
Index Terms
- GOLD: a graph oriented language implemented using the eclipse Xtext framework
Recommendations
Xtext: implement your language faster than the quick and dirty way
OOPSLA '10: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companionWhether there is an (emerging or legacy) Domain-Specific Language to increase the expressiveness of your coworkers or whether you are about to invent a new General Purpose Prgramming Language: Tool support that goes beyond a parser/compiler is essential ...
Jbase: embedding Java expressions in Xtext DSLs
PPPJ '16: Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and ToolsIn this paper we present Jbase, an expression language that can be used to introduce Java expressions and statements in Xtext DSLs. Jbase extends and customizes Xbase, the Java-like expression framework shipped with Xtext. Although Xbase already ...
JGroovy - an extensible Java programming language with Groovy
ICACT'10: Proceedings of the 12th international conference on Advanced communication technologyJava is Object-Oriented Programming Languages (OOPL) that widely used for software development. But Java has a limitation for working with Domain-Specific Languages (DSLs). Java language structure and syntax has not more support for working with DSLs ...
Comments