diff options
author | Mike Buland <eichlan@xagasoft.com> | 2010-10-18 04:38:19 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2010-10-18 04:38:19 +0000 |
commit | 78463c30031a478936b21168a6fc93ae6eeaaeb9 (patch) | |
tree | 2216344a91f23088dcb4cf93492802c75577fad1 /bnftest | |
parent | 00ecd458ced768b3b8752cdd421a22244b7adc01 (diff) | |
download | libbu++-78463c30031a478936b21168a6fc93ae6eeaaeb9.tar.gz libbu++-78463c30031a478936b21168a6fc93ae6eeaaeb9.tar.bz2 libbu++-78463c30031a478936b21168a6fc93ae6eeaaeb9.tar.xz libbu++-78463c30031a478936b21168a6fc93ae6eeaaeb9.zip |
Several of these new files will go away, but I didn't want to lose them for now.
The parser works! The parser compiler works! It makes parsers!
Now we just have to implement post processing, token lookup tables, and storage.
Diffstat (limited to 'bnftest')
-rw-r--r-- | bnftest | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -0,0 +1,18 @@ | |||
1 | tokens = tokPlus tokMinus tokMult tokDivide tokOpenParen tokCloseParen | ||
2 | tokEquals tokNumber; | ||
3 | |||
4 | input: input line | ||
5 | | | ||
6 | ; | ||
7 | |||
8 | line: expr tokEquals {print} | ||
9 | ; | ||
10 | |||
11 | expr: expr tokPlus expr {add} | ||
12 | | expr tokMinus expr {subtract} | ||
13 | | expr tokMult expr {multiply} | ||
14 | | expr tokDivide expr {divide} | ||
15 | | tokOpenParen expr tokCloseParen | ||
16 | | [tokNumber] | ||
17 | ; | ||
18 | |||