5.3. A Coffee Grammar
You can create a grammar for the coffee data language by applying the following algorithm:
1. |
Define the parser you want as a composite of subparsers.
|
2. |
Repeat step 1 until every subparser is defined or is a terminal.
|
The parser you want to define is
coffee
From the preceding language element, you can see that a coffee description is, at a high level, the following:
coffee = name ',' roast ',' country ',' price;
A coffee's name is a word followed optionally by a former name. The former name is a word in parentheses.
name = Word (formerName | Empty); formerName = '(' Word ')';
The roast is a word followed optionally by the characters /French:
roast = Word (orFrench | Empty); orFrench = '/' "french";
The country ...
Get Building Parsers with Java™ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.