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}* "."
else { return sym(SCLTerminals.ELSE); }
where { return sym(SCLTerminals.WHERE); }
when { return sym(SCLTerminals.WHEN); }
+ ruleset { return sym(SCLTerminals.RULESET); }
rule { return sym(SCLTerminals.RULE); }
abstract{whitespace}rule { return sym(SCLTerminals.ABSTRACT_RULE); }
extends { return sym(SCLTerminals.EXTENDS); }
// 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); }