Project Details
Description
Recursive descent parser generators like Coco/R have the advantage of generating fast and lightweight parsers for LL(1) grammars. Their mode of operation is well understood. Non LL(1) grammars however need additional handling to resolve LL(1) conflicts. Coco/R solves this problem with semantic lookahead expressions. Such a semantic lookahead is called a Conflict Resolver (resolver), and can be described as a boolean expression written by the user. As soon as the user writes such a resolver, Coco/R does not care about the lookahead symbol, but simply executes the given resolver to select the right alternative.
Certainly this approach works and is very powerful, as the user can use all features of the target language. However Coco/R can't verify the solution of the user. The user can easily overlook conflicts, or wrong resolvers may survive grammar changes. Our idea to solve this problem is to generate the conflict resolvers automatically via table controlled techniques.
Status | Finished |
---|---|
Effective start/end date | 01.07.2005 → 31.12.2012 |
Fields of science
- 102029 Practical computer science
- 102009 Computer simulation
- 102 Computer Sciences
- 102011 Formal languages
- 102022 Software development
- 102013 Human-computer interaction
- 102024 Usability research
JKU Focus areas
- Digital Transformation