|
UDC 004.439:00.55
António
Menezes Leitão
Instituto Superior Técnico
/ INESC-ID, Lisboa, Portugal
antonio.leitao@dei.ist.utl.pt
Abstract.
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.
|