digit = [0-9]
hexDigit = [0-9a-fA-F]
id_char = {letter} | {digit} | "'"
-ord_symbol_char = [!$%&*+\/<=>?@\\\^|\-:~]
+ord_symbol_char = [!$%&*+\/<=>@\\\^|\-:~]
symbol_char = {ord_symbol_char} | "#"
prefix = {letter} {id_char}* "."
// relation { return sym(SCLTerminals.RELATION); }
as { return sym(SCLTerminals.AS); }
by { return sym(SCLTerminals.BY); }
+ constraint { return sym(SCLTerminals.CONSTRAINT); }
{queryOp} { return sym(SCLTerminals.QUERY_OP); }
"@" { return sym(SCLTerminals.AT); }
"{" { return sym(SCLTerminals.LBRACE); }
{separatedDot} { return sym(SCLTerminals.SEPARATED_DOT, "."); }
"." { return sym(SCLTerminals.ATTACHED_DOT, "."); }
"-" { return sym(SCLTerminals.MINUS, "-"); }
-// "<" existentialVar ">" { yybegin(XML); return sym(SCLTerminals.XML_BEGIN); }
+// "<" {existentialVar} ">" { yybegin(XML); return sym(SCLTerminals.XML_BEGIN); }
"<" { return sym(SCLTerminals.LESS, "<"); }
">" { return sym(SCLTerminals.GREATER, ">"); }
";" { return sym(SCLTerminals.SEMICOLON); }
"=" { return sym(SCLTerminals.EQUALS); }
"::" { return sym(SCLTerminals.HASTYPE); }
":" { return sym(SCLTerminals.COLON); }
+ "\\" " "* match { return sym(SCLTerminals.LAMBDA_MATCH); }
"\\" { return sym(SCLTerminals.LAMBDA); }
"\"\"\"" { string.setLength(0); stringStart=yychar; yybegin(LONG_STRING); return sym(SCLTerminals.BEGIN_STRING); }
"\"" { string.setLength(0); stringStart=yychar; yybegin(STRING); return sym(SCLTerminals.BEGIN_STRING); }