Module: Pure

Defined in:
lib/pure/pure.rb,
lib/pure/util.rb,
lib/pure/error.rb,
lib/pure/names.rb,
lib/pure/driver.rb,
lib/pure/version.rb,
lib/pure/delegate.rb,
lib/pure/extractor.rb,
lib/pure/pure_module.rb,
lib/pure/native_worker.rb,
lib/pure/bundled_plugin.rb,
lib/pure/dsl_definition.rb,
lib/pure/bundled_parsers.rb,
lib/pure/parser/impl/ripper.rb,
lib/pure/extracted_functions.rb,
lib/pure/compiler/ruby_parser.rb,
lib/pure/parser/impl/internal.rb,
lib/pure/parser/impl/base_parser.rb,
lib/pure/parser/impl/ruby_parser.rb

Defined Under Namespace

Modules: Compiler, DSL, Extractor, Parser, Util Classes: BundledPlugin, DefaultArgumentError, DefineMethodError, Delegate, Driver, Error, EvalError, ExtractionTimeError, Names, NativeWorker, NoFunctionError, NoParserError, ParseEntityError, ParseError, ParseMethodError, PureModule, RestrictionError, SplatError

Constant Summary collapse

VERSION =
"0.2.1"
BundledParsers =
BundledPlugin.new("pure", "parser", NoParserError)
ExtractedFunctions =
Hash.new { |hash, key|
  hash[key] = Hash.new { |h, k|
    h[k] = Hash.new
  }
}

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.parserObject

:nodoc:



23
24
25
# File 'lib/pure/pure.rb', line 23

def parser
  @parser
end

.workerObject

:nodoc:



28
29
30
# File 'lib/pure/pure.rb', line 28

def worker
  @worker
end

Class Method Details

.define(parser = Pure.parser, &block) ⇒ Object

Create a pure module. The given block is evaluated in the context of the created module.

A pure module is a Module instance whose methods have been specially registered for lexical analysis.

The methods of a pure module are referred to as pure functions.

See Pure::PureModule.



16
17
18
# File 'lib/pure/pure.rb', line 16

def define(parser = Pure.parser, &block)
  PureModule.new(parser, &block)
end