Sha256: c7153737d0aab7ff1b91d6715997ec095b436171658aae42550dc62ceedb57cd
Contents?: true
Size: 1.7 KB
Versions: 2
Compression:
Stored size: 1.7 KB
Contents
# encoding: utf-8 require 'hashie' require 'antelope/grammar/symbols' require 'antelope/grammar/productions' require 'antelope/grammar/production' require 'antelope/grammar/precedences' require 'antelope/grammar/precedence' require 'antelope/grammar/loading' require 'antelope/grammar/generation' require 'antelope/grammar/token' module Antelope # Defines a grammar from an Ace file. This handles setting up # productions, loading from files, symbols, precedence, and # generation. class Grammar include Symbols include Productions include Precedences include Loading include Grammar::Generation # Used by a generation class; this is all the generated states # of the grammar. # # @return [Set<Generation::Recognizer::State>] # @see Generation::Recognizer attr_accessor :states # The name of the grammar. This is normally assumed from a file # name. # # @return [String] attr_accessor :name # The output directory for the grammar. This is normally the # same directory as the Ace file. # # @return [Pathname] attr_accessor :output # The compiler for the Ace file. # # @return [Compiler] attr_reader :compiler # Initialize. # # @param name [String] # @param output [String] the output directory. Automagically # turned into a Pathname. # @param compiler [Compiler] def initialize(name, output, compiler) @name = name @output = Pathname.new(output) @compiler = compiler end # Extra options from the compiler. This can be used by # generators for output information. # # @return [Hash] def options compiler.options[:extra] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
antelope-0.4.1 | lib/antelope/grammar.rb |
antelope-0.4.0 | lib/antelope/grammar.rb |