Sha256: b1ce4dcae4e1b23caab2efada09beb192e62ca3b1d07ccae48232d2a03f592f3
Contents?: true
Size: 1.8 KB
Versions: 3
Compression:
Stored size: 1.8 KB
Contents
# encoding: utf-8 require "hashie" require "antelope/ace/grammar/symbols" require "antelope/ace/grammar/productions" require "antelope/ace/grammar/precedences" require "antelope/ace/grammar/loading" require "antelope/ace/grammar/generation" module Antelope module Ace # 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 end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
antelope-0.2.4 | lib/antelope/ace/grammar.rb |
antelope-0.2.3 | lib/antelope/ace/grammar.rb |
antelope-0.2.2 | lib/antelope/ace/grammar.rb |