Resources for CSci 4607 Computer Language Processing
On this page you will find:
This list will grow as the course progresses. Your suggestions are
Some XML resources in no particular order:
is a record-processing languages with C-like syntax. It is a
special-purpose language (thus it satisfies one of main criteria for a
"little" language), but it has too many statements to be
definitely considered a "little" language.
- AMPL (developed at Bell Labs)
is a language for optimization and mathematical programming (both are
methods for solving mathematical problems, have nothing to do with
programming in CS sense). Check out examples and on-line test page.
In the language implementation we have encountered the following issue:
should an "import" statement (as in import myfile) be
a statement in the language and therefore be handled by yacc/bison, or a
preprocessor directive and therefore be handled by flex. In the latter
case it may be possible that the parser is not aware that the import
directive has been issued at all and views the tokens from the new
file as a continuation of the program, or flex may send a token to the
indicating that the source of tokens has changed, followed by another token
when the end of the file has been reached and the tokens are now
coming from the standard input.
- O'Reilly's XML.com: XML, XSLT, XPath
www.xml.com. Answers to many
questions about XML and related products.
xml.apache.org. Apache projects
related to XML, including some ongoing projects. By the way, they are
looking for volunteers.
A detailed XML
Tutorial with lots of examples.
XML Magazine. The latest
in XML technology.
Here is an
article that examines similar issues in building a compiler for
processing IDLs (interface definition of components). It points out an
important aspect of the issue: if an imported file has a global
variable, should this variable name be resolved in the new program
environment? Other interesting aspects of the proposed solution are
multiple paths through the program code and creation of a new parser
to process the imported file.