Sha256: e8e1e87fff12931cdb6959d705c217c78b199a73d579b685fc122d82ffabdb5e

Contents?: true

Size: 1.89 KB

Versions: 1

Compression:

Stored size: 1.89 KB

Contents

require 'origen'
require_relative '../config/application.rb'

module ATP
  autoload :Program, 'atp/program'
  autoload :Flow, 'atp/flow'
  autoload :Processor, 'atp/processor'
  autoload :Validator, 'atp/validator'
  autoload :Runner, 'atp/runner'
  autoload :Formatter, 'atp/formatter'
  autoload :Parser, 'atp/parser'

  module AST
    autoload :Node, 'atp/ast/node'
    autoload :Builder, 'atp/ast/builder'
    autoload :Factories, 'atp/ast/factories'
    autoload :Extractor, 'atp/ast/extractor'
  end

  # Processors actually modify the AST to clean and optimize the user input
  # and to implement the flow control API
  module Processors
    autoload :Condition,    'atp/processors/condition'
    autoload :ConditionExtractor, 'atp/processors/condition_extractor'
    autoload :Relationship, 'atp/processors/relationship'
    autoload :PreCleaner, 'atp/processors/pre_cleaner'
    autoload :PostCleaner, 'atp/processors/post_cleaner'
    autoload :Marshal, 'atp/processors/marshal'
    autoload :AddIDs, 'atp/processors/add_ids'
  end

  # Summarizers extract summary data from the given AST
  module Summarizers
  end

  # Validators are run on the processed AST to check it for common errors or
  # logical issues that will prevent it being rendered to a test program format
  module Validators
    autoload :DuplicateIDs, 'atp/validators/duplicate_ids'
    autoload :MissingIDs, 'atp/validators/missing_ids'
    autoload :Condition, 'atp/validators/condition'
    autoload :Jobs, 'atp/validators/jobs'
  end

  # Formatters are run on the processed AST to display the flow or to render
  # it to a different format
  module Formatters
    autoload :Basic,   'atp/formatters/basic'
    autoload :Datalog, 'atp/formatters/datalog'
    autoload :Graph,   'atp/formatters/graph'
  end

  def self.or(*args)
    OR.new(*args)
  end

  def self.and(*args)
    AND.new(*args)
  end

  def self.not(*args)
    NOT.new(*args)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
atp-0.3.0 lib/atp.rb