Class: Packcr

Inherits:
Object
  • Object
show all
Extended by:
Util
Defined in:
lib/packcr/parser.rb,
lib/packcr.rb,
lib/packcr/cli.rb,
lib/packcr/node.rb,
lib/packcr/util.rb,
lib/packcr/stream.rb,
lib/packcr/context.rb,
lib/packcr/version.rb,
lib/packcr/broadcast.rb,
lib/packcr/generator.rb,
lib/packcr/code_block.rb,
lib/packcr/node/eof_node.rb,
lib/packcr/node/root_node.rb,
lib/packcr/node/rule_node.rb,
lib/packcr/node/error_node.rb,
lib/packcr/node/action_node.rb,
lib/packcr/node/expand_node.rb,
lib/packcr/node/string_node.rb,
lib/packcr/generated/context.rb,
lib/packcr/node/capture_node.rb,
lib/packcr/node/quantity_node.rb,
lib/packcr/node/sequence_node.rb,
lib/packcr/node/alternate_node.rb,
lib/packcr/node/charclass_node.rb,
lib/packcr/node/predicate_node.rb,
lib/packcr/node/reference_node.rb,
lib/packcr/generated/node/eof_node.rb,
lib/packcr/generated/node/rule_node.rb,
lib/packcr/generated/node/error_node.rb,
lib/packcr/generated/node/action_node.rb,
lib/packcr/generated/node/expand_node.rb,
lib/packcr/generated/node/string_node.rb,
lib/packcr/generated/node/capture_node.rb,
lib/packcr/generated/node/quantity_node.rb,
lib/packcr/generated/node/sequence_node.rb,
lib/packcr/generated/node/alternate_node.rb,
lib/packcr/generated/node/charclass_node.rb,
lib/packcr/generated/node/predicate_node.rb,
lib/packcr/generated/node/reference_node.rb

Overview

A packrat parser generated by PackCR 0.1.1

Defined Under Namespace

Modules: Util Classes: BroadCast, Cli, CodeBlock, Context, Generator, Node, Parser, Stream

Constant Summary collapse

CODE_REACH__BOTH =
0
CODE_REACH__ALWAYS_SUCCEED =
1
CODE_REACH__ALWAYS_FAIL =
-1
VERSION =
"0.1.1".freeze

Instance Method Summary collapse

Methods included from Util

camelize, dump_escaped_string, dump_integer_value, escape_character, escape_string, escape_varriables, format_code, template, unescape_string, unify_indent_spaces

Constructor Details

#initialize(path, **opt) ⇒ Packcr

Returns a new instance of Packcr.



6
7
8
9
# File 'lib/packcr.rb', line 6

def initialize(path, **opt)
  @path = path.to_s
  @opt = opt
end

Instance Method Details

#runObject



11
12
13
14
15
16
17
18
19
20
# File 'lib/packcr.rb', line 11

def run
  Context.new(@path.to_s, **@opt) do |ctx|
    if !ctx.parse_all
      raise "PackCR error: can't parse"
    end
    if !ctx.generate
      raise "PackCR error: can't generate"
    end
  end
end