Albrecht Wöß, Hanspeter Mössenböck, Markus Löberbauer,
"Compiler generation tools for C#"
, in IEE, in IEE proceedings: Software, Vol. 150, Nummer 5, The Institution of Electrical Engineers, Seite(n) 323-327, 10-2003, ISSN: 1462-5970
Original Titel:
Compiler generation tools for C#
Sprache des Titels:
Englisch
Original Kurzfassung:
Recursive descent parsing has the advantage of more convenient semantic processing than in the case of bottom-up parsing. However, it is limited to LL(1) grammars, which has often prevented its use for popular programming languages, such as Java or C#. The authors extended their compiler generator Coco/R, which generates recursive descents parsers, so that the user can specifiy rules for LL(1) conflict resolution. The simple technique works by evaluating user-defined Boolean expressions to allow the parser to make its parsing decisions where a one-symbol lookahead does not suffice. Thus multi-symbol lookahead or even semantic information can now guide the parsing process as well. Using their extended compiler generator, the authors implmented a compiler front end for C# that can be used as a framework for implementing a variety of tools, two of which are described in more detail: a white-box testing tool that measures path coverage, and a performance hint tool that evaluates source code according to user-defined rules about performance enhancements or coding style.