{Identifier} { Filelval.StrVal = new std::string(yytext, yytext+yyleng);
return ID; }
+${Identifier} { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
+ return VARNAME; }
{StringVal} { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng-1);
return STRVAL; }
%token INT BIT STRING BITS LIST CODE DAG CLASS DEF FIELD LET IN
%token <IntVal> INTVAL
-%token <StrVal> ID STRVAL CODEFRAGMENT
+%token <StrVal> ID VARNAME STRVAL CODEFRAGMENT
%type <Ty> Type
%type <Rec> ClassInst DefInst Object ObjectBody ClassID
{Identifier} { Filelval.StrVal = new std::string(yytext, yytext+yyleng);
return ID; }
+${Identifier} { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
+ return VARNAME; }
{StringVal} { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng-1);
return STRVAL; }
%token INT BIT STRING BITS LIST CODE DAG CLASS DEF FIELD LET IN
%token <IntVal> INTVAL
-%token <StrVal> ID STRVAL CODEFRAGMENT
+%token <StrVal> ID VARNAME STRVAL CODEFRAGMENT
%type <Ty> Type
%type <Rec> ClassInst DefInst Object ObjectBody ClassID