2012-12-19 15:54:47 -05:00
|
|
|
require 'action_dispatch/journey/scanner'
|
|
|
|
require 'action_dispatch/journey/nodes/node'
|
|
|
|
|
|
|
|
module ActionDispatch
|
2012-12-19 19:24:25 -05:00
|
|
|
module Journey # :nodoc:
|
|
|
|
class Parser < Racc::Parser # :nodoc:
|
2012-12-19 15:54:47 -05:00
|
|
|
include Journey::Nodes
|
|
|
|
|
2015-08-14 13:39:22 -04:00
|
|
|
def self.parse(string)
|
|
|
|
new.parse string
|
|
|
|
end
|
|
|
|
|
2012-12-19 15:54:47 -05:00
|
|
|
def initialize
|
|
|
|
@scanner = Scanner.new
|
|
|
|
end
|
|
|
|
|
2012-12-20 15:42:39 -05:00
|
|
|
def parse(string)
|
|
|
|
@scanner.scan_setup(string)
|
2012-12-19 15:54:47 -05:00
|
|
|
do_parse
|
|
|
|
end
|
|
|
|
|
|
|
|
def next_token
|
|
|
|
@scanner.next_token
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|