genmachine 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/genmachine.gemspec +2 -2
- data/lib/VERSION +1 -1
- data/lib/genmachine/generators/ruby/lib.erb.rb +7 -7
- data/lib/genmachine/spec_parser.rb +5 -2
- metadata +4 -4
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.2. | 
| 1 | 
            +
            0.2.4
         | 
    
        data/genmachine.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{genmachine}
         | 
| 8 | 
            -
              s.version = "0.2. | 
| 8 | 
            +
              s.version = "0.2.4"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Joseph Wecker"]
         | 
| 12 | 
            -
              s.date = %q{2011-08- | 
| 12 | 
            +
              s.date = %q{2011-08-23}
         | 
| 13 13 | 
             
              s.default_executable = %q{genmachine}
         | 
| 14 14 | 
             
              s.description = %q{Takes a state table where the following are defined: state, input+conditions, accumulate-action, pre-transition-actions, and transition-to. It takes that state table and generates very fast parsers. Similar to Ragel. Currently only outputs pure Ruby.}
         | 
| 15 15 | 
             
              s.email = %q{joseph.wecker@gmail.com}
         | 
    
        data/lib/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.2. | 
| 1 | 
            +
            0.2.4
         | 
| @@ -22,18 +22,18 @@ class String | |
| 22 22 | 
             
              def reset; d=dup;d.reset!;d end
         | 
| 23 23 | 
             
            end
         | 
| 24 24 |  | 
| 25 | 
            +
            class Array
         | 
| 26 | 
            +
              def into(v); into!(v) unless size == 0 end
         | 
| 27 | 
            +
              def into!(v); v << self end
         | 
| 28 | 
            +
              def reset!; self.clear end
         | 
| 29 | 
            +
              def reset; d=dup;d.reset!;d end
         | 
| 30 | 
            +
            end
         | 
| 25 31 |  | 
| 26 32 | 
             
            module <%= @classname %>
         | 
| 27 33 | 
             
              def self.parse(str) Parser.new(str).parse end
         | 
| 28 34 | 
             
              def self.parse_file(fname) Parser.new(IO.read(fname)).parse end
         | 
| 29 35 |  | 
| 30 36 |  | 
| 31 | 
            -
              class UArray < Array
         | 
| 32 | 
            -
                def into(v); into!(v) unless size == 0 end
         | 
| 33 | 
            -
                def into!(v); v << self end
         | 
| 34 | 
            -
                def reset!; self.clear end
         | 
| 35 | 
            -
                def reset; d=dup;d.reset!;d end
         | 
| 36 | 
            -
              end
         | 
| 37 37 |  | 
| 38 38 | 
             
              class UHash < Hash
         | 
| 39 39 | 
             
                def into!(v) v << self end
         | 
| @@ -168,7 +168,7 @@ module <%= @classname %> | |
| 168 168 | 
             
                    <%- if otype == 'U' -%>
         | 
| 169 169 | 
             
                  s = UNode.new(:name=>name,:sline=>@line,:schr=>@pos)
         | 
| 170 170 | 
             
                    <%- elsif otype == '[]' -%>
         | 
| 171 | 
            -
                  s =  | 
| 171 | 
            +
                  s = []
         | 
| 172 172 | 
             
                    <%- elsif otype == '{}' -%>
         | 
| 173 173 | 
             
                  s = UHash.new
         | 
| 174 174 | 
             
                    <%- end -%>
         | 
| @@ -83,6 +83,8 @@ module GenMachine | |
| 83 83 | 
             
                def parse_input(val,inputs=nil)
         | 
| 84 84 | 
             
                  iters = 0
         | 
| 85 85 | 
             
                  conds = []
         | 
| 86 | 
            +
                  val.gsub! /([^\\])\\\[/, '\1<left-square-bracket>'
         | 
| 87 | 
            +
                  val.gsub! /([^\\])\\\]/, '\1<right-square-bracket>'
         | 
| 86 88 | 
             
                  while val.strip.length > 0 && iters < 100
         | 
| 87 89 | 
             
                    case
         | 
| 88 90 | 
             
                    when val =~ /--+/um
         | 
| @@ -112,10 +114,11 @@ module GenMachine | |
| 112 114 | 
             
                           '\r' => "\r", '\f' => "\f",
         | 
| 113 115 | 
             
                           '\b' => "\b", '\a' => "\a",
         | 
| 114 116 | 
             
                           '\e' => "\e", '\s' => " ",
         | 
| 115 | 
            -
                           '\[' => '[',  '\]' => ']',
         | 
| 116 117 | 
             
                           "\\\\" => '\\'}
         | 
| 117 118 | 
             
                def parse_combine_ranges(raw, input)
         | 
| 118 | 
            -
                  raw.gsub!(/\\[tnrfbaes | 
| 119 | 
            +
                  raw.gsub!(/\\[tnrfbaes\\]/){|m| ESCAPES[m]}
         | 
| 120 | 
            +
                  raw.gsub!('<left-square-bracket>', '[')
         | 
| 121 | 
            +
                  raw.gsub!('<right-square-bracket>', ']')
         | 
| 119 122 | 
             
                  if raw =~ /((?:.-.)*)((?:.)*)/um
         | 
| 120 123 | 
             
                    ranges = $1
         | 
| 121 124 | 
             
                    singles = $2
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: genmachine
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 31
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 2
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.2. | 
| 9 | 
            +
              - 4
         | 
| 10 | 
            +
              version: 0.2.4
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Joseph Wecker
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2011-08- | 
| 18 | 
            +
            date: 2011-08-23 00:00:00 -07:00
         | 
| 19 19 | 
             
            default_executable: genmachine
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         |