diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-10 18:01:10 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-10 18:01:10 +0200 |
commit | 634e5db20969023f7545ad0780181b0d3085567d (patch) | |
tree | d231dd42c6fd48e6ac52aafbf79cd637b6d1e9ea /src/parse.y | |
parent | 650fff74dee63fd69a150470bf9b71c0ea8d4b13 (diff) | |
download | solar-634e5db20969023f7545ad0780181b0d3085567d.tar solar-634e5db20969023f7545ad0780181b0d3085567d.zip |
Don't parse keywords in the lexer
Diffstat (limited to 'src/parse.y')
-rw-r--r-- | src/parse.y | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/parse.y b/src/parse.y index 52f53a6..259e0de 100644 --- a/src/parse.y +++ b/src/parse.y @@ -34,14 +34,14 @@ directive |= rule(rule) { delete rule; } -directive |= TYPE SYMBOL_LC(nonterm) BLOCK(type) { +directive |= "%type" SYMBOL_LC(nonterm) BLOCK(type) { grammar->nonterm_types.insert(std::make_pair(*nonterm, *type)); delete nonterm; delete type; } -directive |= TYPE term(term) BLOCK(type) varname(name) { +directive |= "%type" term(term) BLOCK(type) varname(name) { grammar->term_types.insert(std::make_pair(*term, std::make_pair(*type, *name))); delete term; @@ -49,17 +49,17 @@ directive |= TYPE term(term) BLOCK(type) varname(name) { delete name; } -directive |= SOURCE BLOCK(block) { +directive |= "%source" BLOCK(block) { grammar->source_block = *block; delete block; } -directive |= HEADER BLOCK(block) { +directive |= "%header" BLOCK(block) { grammar->header_block = *block; delete block; } -directive |= EXTRA_ARG BLOCK(type) varname(name) { +directive |= "%extra_arg" BLOCK(type) varname(name) { grammar->extra_args.push_back(std::make_pair(*type, *name)); delete type; |