From f37bccb877d23a3094e7b98f2742ed66fcdb00b6 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 28 Oct 2012 22:52:35 -0700 Subject: Adding unknown tag support to the script compiler. --- compil.lex | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/compil.lex b/compil.lex index 504eaaf..1bac4f2 100644 --- a/compil.lex +++ b/compil.lex @@ -20,6 +20,13 @@ int errstate = 0; int got_ptr = 0; + const int max_tagsize = 64; + + char unknown_tag[65]; + char * unknown_tag_ptr; + + int in_unknown_tag = 0; + %% "" { @@ -149,6 +156,19 @@ } . { + if (*yytext == '<') { + in_unknown_tag = 1; + unknown_tag_ptr = unknown_tag; + } else if (*yytext == '>') { + *unknown_tag_ptr = 0; + fprintf(stderr, "Got an unknown tag: %s\n", unknown_tag); + in_unknown_tag = 0; + } else if (in_unknown_tag) { + *unknown_tag_ptr++ = *yytext; + if ((unknown_tag_ptr - unknown_tag) == max_tagsize) { + in_unknown_tag = 0; + } + } fputc(*yytext, yyout); } -- cgit v1.2.3