diff options
Diffstat (limited to 'crawl-ref/source/util/levcomp.ypp')
-rw-r--r-- | crawl-ref/source/util/levcomp.ypp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/crawl-ref/source/util/levcomp.ypp b/crawl-ref/source/util/levcomp.ypp index d5c21bad3e..500006b2fd 100644 --- a/crawl-ref/source/util/levcomp.ypp +++ b/crawl-ref/source/util/levcomp.ypp @@ -51,7 +51,7 @@ level_range set_range(const char *s, int start, int end) /* Two harmless shift/reduce conflicts */ %expect 2 -%token <i> DEFAULT_DEPTH SHUFFLE SUBST TAGS KFEAT KITEM KMONS KMASK +%token <i> DEFAULT_DEPTH SHUFFLE SUBST TAGS KFEAT KITEM KMONS KMASK KPROP %token <i> NAME DEPTH ORIENT PLACE CHANCE WEIGHT MONS ITEM MARKER COLOUR %token <i> PRELUDE MAIN VALIDATE VETO NSUBST WELCOME LFLAGS BFLAGS %token <i> LFLOORCOL LROCKCOL LFLOORTILE LROCKTILE FTILE RTILE @@ -174,6 +174,7 @@ metaline : place | kitem | kmons | kmask + | kprop | main_lua | prelude_lua | validate_lua @@ -272,6 +273,15 @@ kmask : KMASK { } quote_lua_string($2).c_str())); } +kprop : KPROP { } + | KPROP STRING + { + lc_map.main.add( + yylineno, + make_stringf("kprop(\"%s\")", + quote_lua_string($2).c_str())); + } + shuffle : SHUFFLE shuffle_specifiers {} ; |