Abstract
At some point in your career, you're going to implement a computer language. You probably won't be implementing Java or C++. You may not even recognize it as a language. Truth be told, there are an awful lot of domain-specific languages, or "little languages" [7] in common use:
configuration files,
HTML/XML documents,
shell scripts,
network protocols,
mail headers,
command-line arguments.
The list goes on. A number of programs allow you to write scripts to control their operation; infact, just the other day I downloaded a neural network simulator which provided a little programming language to steer the simulation.How will you implement your language? There's the ad hoc approach, of course, but it's not well suited to languages whose design is complex or frequently changing. You also end up writing code to perform tasks which can be effectively automated.You might also consider using existing languages like Tcl [18] and Python [6]. These languages are designed to either be embedded in an existing application, or easily extended. This is a good solution when it can be used, saving a lot of time and effort. However, there may be concerns about tying your language to one which is itself changing, or the syntax and semantics of your language may not match those of such a "host" language.A third approach is to use compiler tools to implement your language. Most were designed for the implementation of large programming languages, but the same principles and techniques apply equally well to little languages. This article is the story of one such tool -- a parser generator tool -- and more importantly, what sort of tool is going to replace it, and why.
Publisher
Association for Computing Machinery (ACM)
Reference21 articles.
1. Directly-Executable Earley Parsing
2. Aycock J. Horspool N. Janousek J. and Melichar B. Even faster generalized LR parsing. To appear in Acta Informatica. 10.1007/PL00013319 Aycock J. Horspool N. Janousek J. and Melichar B. Even faster generalized LR parsing. To appear in Acta Informatica. 10.1007/PL00013319
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. LR Parsing for Boolean Grammars;Developments in Language Theory;2005