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