18 lines
659 B
Plaintext
18 lines
659 B
Plaintext
class Query
|
|
rule
|
|
target: expression
|
|
| /* none */ { result = 0 }
|
|
|
|
expression: TERM_WITHOUT_QUOTES { result = {:DEFAULT_COLUMN => val[0]} }
|
|
| TERM_WITH_QUOTES { result = {:DEFAULT_COLUMN => val[0]} }
|
|
| TERM_WITHOUT_QUOTES COLON TERM_WITHOUT_QUOTES { result = {val[0] => val[2]} }
|
|
| TERM_WITHOUT_QUOTES COLON TERM_WITH_QUOTES { result = {val[0] => val[2]} }
|
|
end
|
|
|
|
---- header
|
|
require_relative 'lexer'
|
|
|
|
---- inner
|
|
def parse(input)
|
|
scan_str(input)
|
|
end |