X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/77578fdd2c1bc23b7847d03d63eb8d63d283fc16..79eea88e0403bd04b797299f403ce775fa4a1448:/Scanner.lpp.in?ds=sidebyside diff --git a/Scanner.lpp.in b/Scanner.lpp.in index e56b547..6300e30 100644 --- a/Scanner.lpp.in +++ b/Scanner.lpp.in @@ -52,6 +52,12 @@ typedef cy::parser::token tk; return value; \ } while (false) +#define S(stack) do { \ + if (yyextra->stack.size() == 1) \ + E("invalid brace") \ + yyextra->stack.pop(); \ +} while (false) + #define P yyextra->pool_ #define A new(P) #define Y P.strmemdup(yytext, yyleng) @@ -394,7 +400,7 @@ XMLName {XMLNameStart}{XMLNamePart}* ")" L F(tk::CloseParen, hi::Structure); "{" L yyextra->template_.push(false); F(yyextra->newline_ ? tk::OpenBrace_ : tk::OpenBrace, hi::Structure); -