Class: JSONP3::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/json_p3/parser.rb

Overview

A JSONPath expression parser.

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Parser

Returns a new instance of Parser.



66
67
68
69
70
# File 'lib/json_p3/parser.rb', line 66

def initialize(env)
  @env = env
  @name_selector = env.class::NAME_SELECTOR
  @index_selector = env.class::INDEX_SELECTOR
end

Instance Method Details

#parse(tokens) ⇒ Array<Segment>

Parse an array of tokens into an abstract syntax tree.

Parameters:

  • tokens (Array<Token>)

    tokens from the lexer.

Returns:



75
76
77
78
79
80
# File 'lib/json_p3/parser.rb', line 75

def parse(tokens)
  stream = Stream.new(tokens)
  stream.expect(:token_root)
  stream.next
  parse_query(stream)
end