Title :
A*: a language for implementing language processors
Author :
Ladd, David A. ; Ramming, J. Christopher
Author_Institution :
AT&T Bell Labs., Naperville, IL, USA
fDate :
11/1/1995 12:00:00 AM
Abstract :
A* is an experimental language designed to facilitate the creation of language-processing tools. It is analogous either to an interpreted yacc with Awk as its statement language, or to a version of Awk which processes programs rather than records. A* offers two principal advantages over the combination of lex, yacc, and C: a high-level interpreted base language and built-in parse tree construction. A* programmers are thus able to accomplish many useful tasks with little code. This paper describes the motivation for A*, its design, and its evolution. Experience with A* is described, and then the paper concludes with an analysis of that experience
Keywords :
high level languages; program compilers; program processors; programming; software tools; A*; Awk; C; experimental language; high-level interpreted base language; interpreted yacc; language processors; language-processing tools; lex; parse tree construction; statement language; yacc; Application software; Computer languages; Computer science; Costs; Humans; Programming profession; Software engineering;
Journal_Title :
Software Engineering, IEEE Transactions on