grammar SQLTokens rule SPACE " " end rule OPEN_PARENS '(' end rule CLOSE_PARENS ')' end rule EMPTY_STRING '' { def eval; nil; end } end rule TRUE "TRUE" { def eval true end } end rule FALSE "FALSE" { def eval false end } end rule SINGLE_QUOTE "'" end rule DOUBLE_QUOTE "\"" end rule BACKTICK "`" end rule COMMA "," end rule STRING_CHARS [0-9a-zA-Z\$_] end rule ALPHA_CHARS [a-zA-Z] end rule NON_QUOTE_CHARS [^'"] end rule DIGIT [0-9] end rule DASH "-" { def eval; nil; end } end rule MINUS_OR_DIGIT DASH / DIGIT end rule REAL_KEYWORD "REAL" end rule DOUBLE_KEYWORD "DOUBLE" end rule FLOAT_KEYWORD "FLOAT" end rule DECIMAL_KEYWORD "DECIMAL" end rule NUMERIC_KEYWORD "NUMERIC" end rule SMALL_INT_KEYWORD "SMALLINT" end rule TINY_INT_KEYWORD "TINYINT" end rule INT_KEYWORD "INT" end rule INTEGER_KEYWORD "INTEGER" end rule ZEROFILL_KEYWORD "ZEROFILL" end rule UNSIGNED_KEYWORD "UNSIGNED" end rule BIG_INT_KEYWORD "BIGINT" end rule VARCHAR_KEYWORD "VARCHAR" end end