auto_obstack temp_space;
+ /* Depth of parentheses, used by the lexer. */
+ int paren_depth = 0;
+
private:
/* We don't have a good way to manage non-POD data in Yacc, so store
pstate->lexptr += 1; \
}
-/* Depth of parentheses. */
-static int paren_depth;
-
%}
%option case-insensitive interactive nodefault noyywrap
[-&*+{}@/:<>=|;\[\]] { return yytext[0]; }
-"," { if (paren_depth == 0 && pstate->comma_terminates)
+"," { if (ada_parser->paren_depth == 0 && pstate->comma_terminates)
{
rewind_to_char (',');
return 0;
return ',';
}
-"(" { paren_depth += 1; return '('; }
-")" { if (paren_depth == 0)
+"(" { ada_parser->paren_depth += 1; return '('; }
+")" { if (ada_parser->paren_depth == 0)
{
rewind_to_char (')');
return 0;
}
else
{
- paren_depth -= 1;
+ ada_parser->paren_depth -= 1;
return ')';
}
}
lexer_init (FILE *inp)
{
BEGIN INITIAL;
- paren_depth = 0;
returned_complete = false;
yyrestart (inp);
}