diff options
Diffstat (limited to 'engines/director/lingo/lingo-lex.l')
-rw-r--r-- | engines/director/lingo/lingo-lex.l | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l index b1801bda78..33829b699b 100644 --- a/engines/director/lingo/lingo-lex.l +++ b/engines/director/lingo/lingo-lex.l @@ -132,7 +132,17 @@ whitespace [\t ] (?i:line) { count(); return tLINE; } (?i:loop) { count(); return checkImmediate(tLOOP); } (?i:macro) { count(); return tMACRO; } -(?i:method) { count(); return tMETHOD; } +(?i:method)([\t ]*{identifier}) { + count(); + + const char *ptr = &yytext[6]; // Skip 'method ' + while (*ptr == ' ' || *ptr == '\t') + ptr++; + + yylval.s = new Common::String(ptr); + + return tMETHOD; + } (?i:mod) { count(); return tMOD; } (?i:movie) { count(); return tMOVIE; } (?i:next) { count(); return tNEXT; } |