UDC 004.439:00.55

From Lisp S-Expressions to Java Source Code

António Menezes Leitão1

  1. Instituto Superior Técnico / INESC-ID
    Lisboa, Portugal


The syntax of Lisp languages is based on S-expressions, an extremely simple form of structured data representation that is nevertheless fundamental to the development of Lisp syntactic extensions. By adopting a more conventional syntax, the Java language placed itself in a difficult position in regard to user-defined syntax extensions. In spite of the many efforts to provide mechanisms for such extensions, they continue to be more difficult to use than S-expression-based ones. In this paper, we will describe the use of the S-expression syntax in a Java code generation environment. By providing an S-expression based program representation for Java source code, we are able to reuse and extend Lisp macro-expansion techniques to significantly simplify the construction of Java programs.

Key words

S-expressions, Macros, Common Lisp, Java

Publication information

Volume 5, Issue 2 (December 2008)
Compilers, Related Technologies and Applications
Year of Publication: 2008
ISSN: 1820-0214 (Print) 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Leitão, A. M.: From Lisp S-Expressions to Java Source Code. Computer Science and Information Systems, Vol. 5, No. 2, 19-38. (2008)