X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=src%2Fparser.lex;h=e03175a1f9703931cade508c8025a0c5ccf1d900;hp=d5d81d6428cb35ecae1a865766b6af9e4be7cae2;hb=b52d3471652c8872497ff81ff46de4fda543298c;hpb=13f358624c58a5379ef681bf695423901cf34174 diff --git a/src/parser.lex b/src/parser.lex index d5d81d6..e03175a 100644 --- a/src/parser.lex +++ b/src/parser.lex @@ -88,8 +88,8 @@ static void store(enum type_t type, int line, int column, char*text, int length) } prefix = 0; break; - case LABEL: - string_set2(&tmp, text, length-1); + case RAWDATA: + string_set2(&tmp, text+1/*:*/, length-5/*.end*/); token.text = (char*)mem_putstring(&strings, tmp); break; case COMMAND: @@ -189,7 +189,7 @@ RVALUE \"{STRING}\"|([^ \n\r\t]+) } \.include{S}.*\n {handleInclude(yytext, yyleng);} \.{NAME} {s(COMMAND);c();} -{NAME}{S}*: {s(LABEL);c();} +:([^.]|\.[^e]|\.e[^n]|\.en[^d]|[ \n\r\t])*\.end {s(RAWDATA);c();} {NAME} {s(IDENTIFIER);c();} "[" {c();BEGIN(BINARY);} {S} {c();}