class Namarara::Parser
Cut HERE 8< —- 8< —- …
Attributes
names[W]
Public Class Methods
new(*args)
click to toggle source
Initialize names hash
Calls superclass method
# File lib/namarara/parser.rb, line 188 def initialize(*args) @names = nil super(*args) end
Public Instance Methods
check_grammar(line, tokens)
click to toggle source
Check if grammar is valid
# File lib/namarara/parser.rb, line 201 def check_grammar(line, tokens) grammar = tokens.to_s.split(/=|AND|OR/) expr = line.split(/=|AND|OR/) return if grammar.size == expr.size return if grammar.empty? tokens.errors << Errors::InvalidGrammar.new( message: 'Invalid Grammar' ) end
parse(str)
click to toggle source
Make sure names are filled in
Calls superclass method
# File lib/namarara/parser.rb, line 194 def parse(str) raise MissingNamesError if @names.nil? super(str) end