class Calyx::Format::YAMLGrammar

Public Class Methods

new(filename) click to toggle source
# File lib/calyx/format.rb, line 47
def initialize(filename)
  warn [
    "NOTE: Loading grammars defined in YAML is deprecated. ",
    "Use the JSON format instead: `Calyx::Format.load(\"hello.json\")`"
  ].join

  require 'yaml'
  @filename = filename
  @contents = File.read(@filename)
  @rules = YAML.load(@contents)
end

Public Instance Methods

each_rule() { |rule, productions, trace(/#{rule}:/, filename, contents)| ... } click to toggle source
# File lib/calyx/format.rb, line 59
def each_rule(&block)
  @rules.each do |rule, productions|
    yield rule, productions, Trace.new(/#{rule}:/, @filename, @contents)
  end
end