Sha256: 6a10455fbfd800f47eeadfe4df9f6d7f3a0873b0609a799c2af1e1404cad8ba6

Contents?: true

Size: 1.54 KB

Versions: 3

Compression:

Stored size: 1.54 KB

Contents

# encoding: utf-8

module Antelope
  module Ace

    # Defines an error that can occur within the Ace module.  All
    # errors that are raised within the Ace module are subclasses of
    # this.
    class Error < Antelope::Error
    end

    # Used primarily in the {Compiler}, this is raised when the
    # version requirement of the Ace file doesn't match the running
    # version of Ace.
    class IncompatibleVersionError < Error
    end

    # Used primarily in the {Scanner}, this is raised when an input
    # is malformed.  The message should contain a snippet of the input
    # which caused the error.
    class SyntaxError < Error
    end

    # This is used primarily in the {Grammar}; if a rule references a
    # token (a nonterminal or a terminal) that was not previously
    # defined, this is raised.
    class UndefinedTokenError < Error
    end

    # Primarily used in the {Compiler}, if a scanner token appears
    # that should not be in the current state, this is raised.
    class InvalidStateError < Error
    end

    # Primarily used in the {Grammar} (specifically
    # {Grammar::Generation}), if the grammar could not determine the
    # generator to use for the generation, it raises this.
    class NoTypeError < Error
    end

    # Primarily used in the {Compiler}, it is raised if it encounters
    # a directive it cannot handle.  This is more to warn the
    # developer that a directive they wrote may not be accepted by any
    # generator.
    class NoDirectiveError < Error
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
antelope-0.2.4 lib/antelope/ace/errors.rb
antelope-0.2.3 lib/antelope/ace/errors.rb
antelope-0.2.2 lib/antelope/ace/errors.rb