Sha256: 022de503f44843b588110d5a890514884c035c4527c0194d6528c9c44d29eef1
Contents?: true
Size: 1.57 KB
Versions: 3
Compression:
Stored size: 1.57 KB
Contents
# encoding: utf-8 require "antelope/ace/grammar/terminals" require "antelope/ace/grammar/productions" require "antelope/ace/grammar/precedences" require "antelope/ace/grammar/loading" require "antelope/ace/grammar/generation" require "antelope/ace/grammar/production" module Antelope module Ace # Defines a grammar from an Ace file. This handles setting up # productions, loading from files, terminals, precedence, and # generation. class Grammar include Terminals 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 end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
antelope-0.1.4 | lib/antelope/ace/grammar.rb |
antelope-0.1.3 | lib/antelope/ace/grammar.rb |
antelope-0.1.2 | lib/antelope/ace/grammar.rb |