swift-pyrite 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +41 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/exe/pyrite +4 -0
- data/lib/swift/pyrite/cli.rb +18 -0
- data/lib/swift/pyrite/parser.rb +43 -0
- data/lib/swift/pyrite/transformer.rb +129 -0
- data/lib/swift/pyrite/version.rb +5 -0
- data/lib/swift/pyrite.rb +21 -0
- data/swift-pyrite.gemspec +30 -0
- data/vendor/bundle/ruby/2.0.0/bin/htmldiff +25 -0
- data/vendor/bundle/ruby/2.0.0/bin/ldiff +25 -0
- data/vendor/bundle/ruby/2.0.0/bin/rake +23 -0
- data/vendor/bundle/ruby/2.0.0/bin/rspec +23 -0
- data/vendor/bundle/ruby/2.0.0/bin/tt +23 -0
- data/vendor/bundle/ruby/2.0.0/cache/blankslate-3.1.3.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/diff-lcs-1.2.5.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/parslet-1.7.1.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/polyglot-0.3.5.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/rake-10.4.2.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/rspec-3.3.0.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/rspec-core-3.3.2.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/rspec-expectations-3.3.1.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/rspec-mocks-3.3.2.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/rspec-support-3.3.0.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/cache/treetop-1.6.3.gem +0 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/Gemfile +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/Gemfile.lock +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/README +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/Rakefile +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/VERSION +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/blankslate.gemspec +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/lib/blankslate.rb +137 -0
- data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/spec/blankslate_spec.rb +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.autotest +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.gemtest +0 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.hoerc +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.rspec +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.travis.yml +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Gemfile +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/History.rdoc +152 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/License.rdoc +39 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/README.rdoc +85 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Rakefile +41 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
- data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/HISTORY.txt +241 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/LICENSE +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/README +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/Rakefile +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/big.erb +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/boolean_algebra.rb +70 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/calc.rb +153 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/capture.rb +49 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/comments.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/deepest_errors.rb +131 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/documentation.rb +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/email_parser.rb +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/empty.rb +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/erb.rb +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/ignore.rb +33 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/ip_address.rb +125 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/json.rb +128 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/local.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/mathn.rb +44 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/minilisp.rb +94 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/modularity.rb +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/nested_errors.rb +132 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/optimized_erb.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/boolean_algebra.out +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/calc.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/capture.out +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/comments.out +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/deepest_errors.out +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/documentation.err +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/documentation.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/email_parser.out +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/empty.err +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/erb.out +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/ignore.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/ignore_whitespace.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/ip_address.out +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/json.out +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/local.out +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/mathn.out +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/minilisp.out +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/modularity.out +0 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/nested_errors.out +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/optimized_erb.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/parens.out +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/prec_calc.out +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/readme.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/scopes.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/seasons.out +28 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/sentence.out +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/simple_xml.out +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/string_parser.out +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/parens.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/prec_calc.rb +71 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/readme.rb +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/scopes.rb +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/seasons.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/sentence.rb +36 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/simple.lit +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/simple_xml.rb +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/string_parser.rb +77 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/test.lit +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/accelerator/application.rb +62 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/accelerator/engine.rb +112 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/accelerator.rb +161 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/alternative.rb +50 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/base.rb +157 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/can_flatten.rb +137 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/capture.rb +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/context.rb +103 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/dsl.rb +109 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/dynamic.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/entity.rb +44 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/infix.rb +121 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/lookahead.rb +50 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/named.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/re.rb +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/repetition.rb +83 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/scope.rb +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/sequence.rb +45 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/str.rb +39 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/visitor.rb +89 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/cause.rb +101 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/context.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/convenience.rb +33 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter/contextual.rb +120 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter/deepest.rb +100 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter/tree.rb +63 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter.rb +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/export.rb +162 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/expression/treetop.rb +92 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/expression.rb +51 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/graphviz.rb +97 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/parser.rb +67 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/pattern/binding.rb +49 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/pattern.rb +114 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/position.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/rig/rspec.rb +59 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/scope.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/slice.rb +110 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/source/line_cache.rb +98 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/source.rb +96 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/transform.rb +257 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet.rb +302 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/parslet.gemspec +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/examples_spec.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/infix_parser_spec.rb +112 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/regression_spec.rb +314 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/repetition_and_maybe_spec.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/unconsumed_input_spec.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atom_results_spec.rb +39 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/alternative_spec.rb +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/base_spec.rb +126 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/capture_spec.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/combinations_spec.rb +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/dsl_spec.rb +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/entity_spec.rb +77 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/infix_spec.rb +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/lookahead_spec.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/named_spec.rb +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/re_spec.rb +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/repetition_spec.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/scope_spec.rb +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/sequence_spec.rb +28 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/str_spec.rb +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/visitor_spec.rb +80 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms_spec.rb +429 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/convenience_spec.rb +48 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/error_reporter/contextual_spec.rb +115 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/error_reporter/deepest_spec.rb +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/error_reporter/tree_spec.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/export_spec.rb +67 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/expression/treetop_spec.rb +74 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/minilisp.citrus +29 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/minilisp.tt +29 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/parser_spec.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/parslet_spec.rb +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/pattern_spec.rb +272 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/position_spec.rb +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/rig/rspec_spec.rb +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/scope_spec.rb +45 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/slice_spec.rb +144 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/source/line_cache_spec.rb +74 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/source_spec.rb +168 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/transform/context_spec.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/transform_spec.rb +165 -0
- data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/spec_helper.rb +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/History.txt +72 -0
- data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/License.txt +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/README.txt +87 -0
- data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/Rakefile +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/lib/polyglot/version.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/lib/polyglot.rb +76 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.autotest +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.gemtest +0 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.rubocop.yml +27 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.togglerc +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/CONTRIBUTING.rdoc +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/History.rdoc +651 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/Manifest.txt +166 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/README.rdoc +140 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/Rakefile +81 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/bin/rake +33 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/glossary.rdoc +43 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/jamis.rb +591 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/rake.1 +141 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/rakefile.rdoc +653 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.6.rdoc +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.3.rdoc +102 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.4.rdoc +60 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.5.rdoc +55 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.6.rdoc +64 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.0.rdoc +178 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.1.rdoc +58 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.2.rdoc +53 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.3.rdoc +191 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.1.0.rdoc +61 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/alt_system.rb +110 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb +790 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/clean.rb +76 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/.document +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/ftptools.rb +137 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/publisher.rb +81 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/sshpublisher.rb +61 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/sys.rb +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/cpu_counter.rb +125 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/dsl_definition.rb +201 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/core.rb +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/module.rb +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/pathname.rb +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/string.rb +173 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/time.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_list.rb +428 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_utils.rb +128 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/gempackagetask.rb +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/late_time.rb +17 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/linked_list.rb +103 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/loaders/makefile.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/packagetask.rb +199 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/pathmap.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rdoctask.rb +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/runtest.rb +27 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb +383 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task_arguments.rb +98 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task_manager.rb +310 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/tasklib.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/testtask.rb +212 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/thread_pool.rb +164 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/version.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/win32.rb +56 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake.rb +79 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/rakelib/publish.rake +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/rakelib/test_times.rake +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/file_creation.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/helper.rb +130 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/support/rakefile_definitions.rb +478 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/support/ruby_runner.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_private_reader.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_application.rb +643 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_application_options.rb +466 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_backtrace.rb +119 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_clean.rb +61 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_cpu_counter.rb +68 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_definitions.rb +84 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_directory_task.rb +76 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_extension.rb +59 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_list.rb +655 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_list_path_map.rb +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_task.rb +197 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_utils.rb +309 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_functional.rb +482 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_late_time.rb +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_multi_task.rb +64 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_name_space.rb +57 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_pathname_extensions.rb +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_require.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_rules.rb +388 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task.rb +393 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_argument_parsing.rb +119 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_arguments.rb +127 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_lib.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_manager.rb +178 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_with_arguments.rb +172 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_test_task.rb +146 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_thread_pool.rb +145 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_trace_output.rb +52 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/License.txt +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/README.md +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/lib/rspec/version.rb +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/lib/rspec.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/.document +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/.yardopts +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/Changelog.md +1856 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/License.txt +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/README.md +369 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/exe/rspec +4 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/autorun.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/backtrace_formatter.rb +64 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/coordinator.rb +66 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/example_minimizer.rb +130 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/runner.rb +139 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/server.rb +61 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/subset_enumerator.rb +39 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb +1807 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb +191 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/drb.rb +111 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/dsl.rb +96 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/example.rb +573 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb +796 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/example_status_persister.rb +235 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/filter_manager.rb +231 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/flat_map.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_text_formatter.rb +77 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_formatter.rb +68 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +115 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/console_codes.rb +65 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/exception_presenter.rb +393 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/helpers.rb +109 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_formatter.rb +151 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_printer.rb +415 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/json_formatter.rb +96 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/progress_formatter.rb +28 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/protocol.rb +172 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/snippet_extractor.rb +116 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters.rb +254 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/hooks.rb +638 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/memoized_helpers.rb +532 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/metadata.rb +490 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/metadata_filter.rb +235 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mutex.rb +63 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/notifications.rb +498 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/option_parser.rb +301 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/ordering.rb +158 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/pending.rb +165 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/profiler.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/.rspec +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +96 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer.rb +48 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/rake_task.rb +158 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/reentrant_mutex.rb +52 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/reporter.rb +220 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/ruby_project.rb +53 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb +179 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/sandbox.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/set.rb +49 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/shared_context.rb +55 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/shared_example_group.rb +210 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/shell_escape.rb +49 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/version.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/warnings.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/world.rb +178 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core.rb +181 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/.document +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/.yardopts +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/Changelog.md +953 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/License.txt +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/README.md +289 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/configuration.rb +164 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/expectation_target.rb +113 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/fail_with.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/failure_aggregator.rb +194 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/handler.rb +170 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/minitest_integration.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/syntax.rb +132 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/version.rb +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations.rb +81 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/all.rb +85 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/base_matcher.rb +181 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be.rb +285 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/change.rb +337 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/compound.rb +293 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/contain_exactly.rb +253 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eq.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/exist.rb +86 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/has.rb +103 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/include.rb +130 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/match.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/operators.rb +128 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/output.rb +200 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/raise_error.rb +216 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/respond_to.rb +90 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/satisfy.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/yield.rb +418 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in.rb +52 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/composable.rb +184 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/dsl.rb +453 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/english_phrasing.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/generated_descriptions.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_delegator.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_protocol.rb +99 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers.rb +1009 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/.document +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/.yardopts +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/Changelog.md +965 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/License.txt +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/README.md +430 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/chain.rb +110 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/recorder.rb +264 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance.rb +11 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_list_matcher.rb +100 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_matchers.rb +320 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/configuration.rb +188 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/error_generator.rb +362 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/example_methods.rb +421 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/instance_method_stasher.rb +135 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/have_received.rb +116 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive.rb +130 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_message_chain.rb +80 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_messages.rb +75 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_chain.rb +87 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_expectation.rb +717 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_double.rb +287 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_reference.rb +192 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutate_const.rb +335 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutex.rb +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/object_reference.rb +149 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/order_group.rb +81 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/proxy.rb +439 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/reentrant_mutex.rb +53 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/space.rb +238 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/standalone.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/syntax.rb +325 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/targets.rb +97 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/test_double.rb +170 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_double.rb +129 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_message_expecation.rb +54 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_proxy.rb +213 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/version.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks.rb +126 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/Changelog.md +125 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/README.md +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/caller_filter.rb +83 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/differ.rb +215 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/directory_maker.rb +63 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/encoded_string.rb +155 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/hunk_generator.rb +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/matcher_definition.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/method_signature_verifier.rb +273 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/object_formatter.rb +93 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/ruby_features.rb +118 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/in_sub_process.rb +52 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/library_wide_checks.rb +145 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/shell_out.rb +71 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/string_matcher.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec.rb +81 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/version.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/version_checker.rb +53 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/warnings.rb +39 -0
- data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support.rb +111 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/LICENSE +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/README.md +192 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/Rakefile +76 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/bin/tt +112 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/contributing_and_planned_features.markdown +102 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/grammar_composition.markdown +65 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/index.markdown +88 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/pitfalls_and_advanced_techniques.markdown +51 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/semantic_interpretation.markdown +218 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/site.rb +112 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/sitegen.rb +65 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/syntactic_recognition.markdown +220 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/tt.1 +83 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/using_in_ruby.markdown +105 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/indented_blocks/indented_blocks.tt +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/indented_blocks/indented_blocks_test.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/inner_outer.rb +51 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/inner_outer.tt +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic.rb +551 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic.treetop +98 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic_node_classes.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic_test.rb +58 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus.rb +718 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus.treetop +132 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/test_helper.rb +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/numerals.rb +210 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/numerals.tt +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/bootstrap_gen_1_metagrammar.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/grammar_compiler.rb +49 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/lexical_address_space.rb +17 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/metagrammar.rb +4113 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/metagrammar.treetop +503 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/anything_symbol.rb +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/character_class.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/choice.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/grammar.rb +28 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/optional.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/parenthesized_expression.rb +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/parsing_expression.rb +150 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/parsing_rule.rb +60 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/predicate.rb +52 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/predicate_block.rb +23 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/repetition.rb +109 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/sequence.rb +75 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/terminal.rb +45 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/ruby_builder.rb +115 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/polyglot.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/ruby_extensions/string.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/ruby_extensions.rb +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/compiled_parser.rb +126 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/syntax_node.rb +116 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/terminal_parse_failure.rb +17 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime.rb +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/version.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/and_predicate_spec.rb +36 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/anything_symbol_spec.rb +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/character_class_spec.rb +304 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/choice_spec.rb +80 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/circular_compilation_spec.rb +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/failure_propagation_functional_spec.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/grammar_compiler_spec.rb +113 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/grammar_spec.rb +44 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/multibyte_chars_spec.rb +38 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/namespace_spec.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/nonterminal_symbol_spec.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/not_predicate_spec.rb +52 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/occurrence_range_spec.rb +186 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/one_or_more_spec.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/optional_spec.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/parenthesized_expression_spec.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/parsing_rule_spec.rb +61 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/repeated_subrule_spec.rb +29 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/semantic_predicate_spec.rb +176 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/sequence_spec.rb +129 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/terminal_spec.rb +177 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/terminal_symbol_spec.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar.treetop +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar.tt +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar_do.treetop +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar_magic_coding.treetop +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar_magic_encoding.treetop +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/tt_compiler_spec.rb +224 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/zero_or_more_spec.rb +56 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/a.treetop +11 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/b.treetop +11 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/c.treetop +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/d.treetop +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/f.treetop +17 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/grammar_composition_spec.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/subfolder/e_includes_c.treetop +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/ruby_extensions/string_spec.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/compiled_parser_spec.rb +153 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/delete_spec.rb +147 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/expire_range_spec.rb +349 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/insert_and_delete_node_spec.rb +385 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/insert_spec.rb +660 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +6175 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +58 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/palindromic_fixture.rb +35 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +163 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/spec_helper.rb +91 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/syntax_node_spec.rb +77 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/spec_helper.rb +115 -0
- data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/treetop.gemspec +179 -0
- data/vendor/bundle/ruby/2.0.0/specifications/blankslate-3.1.3.gemspec +30 -0
- data/vendor/bundle/ruby/2.0.0/specifications/diff-lcs-1.2.5.gemspec +65 -0
- data/vendor/bundle/ruby/2.0.0/specifications/parslet-1.7.1.gemspec +31 -0
- data/vendor/bundle/ruby/2.0.0/specifications/polyglot-0.3.5.gemspec +19 -0
- data/vendor/bundle/ruby/2.0.0/specifications/rake-10.4.2.gemspec +40 -0
- data/vendor/bundle/ruby/2.0.0/specifications/rspec-3.3.0.gemspec +39 -0
- data/vendor/bundle/ruby/2.0.0/specifications/rspec-core-3.3.2.gemspec +65 -0
- data/vendor/bundle/ruby/2.0.0/specifications/rspec-expectations-3.3.1.gemspec +47 -0
- data/vendor/bundle/ruby/2.0.0/specifications/rspec-mocks-3.3.2.gemspec +50 -0
- data/vendor/bundle/ruby/2.0.0/specifications/rspec-support-3.3.0.gemspec +35 -0
- data/vendor/bundle/ruby/2.0.0/specifications/treetop-1.6.3.gemspec +50 -0
- metadata +869 -0
@@ -0,0 +1,132 @@
|
|
1
|
+
$:.unshift File.dirname(__FILE__) + "/../lib"
|
2
|
+
|
3
|
+
require 'parslet'
|
4
|
+
require 'parslet/convenience'
|
5
|
+
|
6
|
+
# This example demonstrates tree error reporting in a real life example.
|
7
|
+
# The parser code has been contributed by John Mettraux.
|
8
|
+
|
9
|
+
def prettify(str)
|
10
|
+
puts " "*3 + " "*4 + "." + " "*4 + "10" + " "*3 + "." + " "*4 + "20"
|
11
|
+
str.lines.each_with_index do |line, index|
|
12
|
+
printf "%02d %s\n",
|
13
|
+
index+1,
|
14
|
+
line.chomp
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class Parser < Parslet::Parser
|
19
|
+
|
20
|
+
# commons
|
21
|
+
|
22
|
+
rule(:space) { match('[ \t]').repeat(1) }
|
23
|
+
rule(:space?) { space.maybe }
|
24
|
+
|
25
|
+
rule(:newline) { match('[\r\n]') }
|
26
|
+
|
27
|
+
rule(:comment) { str('#') >> match('[^\r\n]').repeat }
|
28
|
+
|
29
|
+
rule(:line_separator) {
|
30
|
+
(space? >> ((comment.maybe >> newline) | str(';')) >> space?).repeat(1)
|
31
|
+
}
|
32
|
+
|
33
|
+
rule(:blank) { line_separator | space }
|
34
|
+
rule(:blank?) { blank.maybe }
|
35
|
+
|
36
|
+
rule(:identifier) { match('[a-zA-Z0-9_]').repeat(1) }
|
37
|
+
|
38
|
+
# res_statement
|
39
|
+
|
40
|
+
rule(:reference) {
|
41
|
+
(str('@').repeat(1,2) >> identifier).as(:reference)
|
42
|
+
}
|
43
|
+
|
44
|
+
rule(:res_action_or_link) {
|
45
|
+
str('.').as(:dot) >> (identifier >> str('?').maybe ).as(:name) >> str('()')
|
46
|
+
}
|
47
|
+
|
48
|
+
rule(:res_actions) {
|
49
|
+
(
|
50
|
+
reference
|
51
|
+
).as(:resources) >>
|
52
|
+
(
|
53
|
+
res_action_or_link.as(:res_action)
|
54
|
+
).repeat(0).as(:res_actions)
|
55
|
+
}
|
56
|
+
|
57
|
+
rule(:res_statement) {
|
58
|
+
res_actions >>
|
59
|
+
(str(':') >> identifier.as(:name)).maybe.as(:res_field)
|
60
|
+
}
|
61
|
+
|
62
|
+
# expression
|
63
|
+
|
64
|
+
rule(:expression) {
|
65
|
+
res_statement
|
66
|
+
}
|
67
|
+
|
68
|
+
# body
|
69
|
+
|
70
|
+
rule(:body) {
|
71
|
+
(line_separator >> (block | expression)).repeat(1).as(:body) >>
|
72
|
+
line_separator
|
73
|
+
}
|
74
|
+
|
75
|
+
# blocks
|
76
|
+
|
77
|
+
rule(:begin_block) {
|
78
|
+
(str('concurrent').as(:type) >> space).maybe.as(:pre) >>
|
79
|
+
str('begin').as(:begin) >>
|
80
|
+
body >>
|
81
|
+
str('end')
|
82
|
+
}
|
83
|
+
|
84
|
+
rule(:define_block) {
|
85
|
+
str('define').as(:define) >> space >>
|
86
|
+
identifier.as(:name) >> str('()') >>
|
87
|
+
body >>
|
88
|
+
str('end')
|
89
|
+
}
|
90
|
+
|
91
|
+
rule(:block) {
|
92
|
+
define_block | begin_block
|
93
|
+
}
|
94
|
+
|
95
|
+
# root
|
96
|
+
|
97
|
+
rule(:radix) {
|
98
|
+
line_separator.maybe >> block >> line_separator.maybe
|
99
|
+
}
|
100
|
+
|
101
|
+
root(:radix)
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
ds = [
|
106
|
+
%{
|
107
|
+
define f()
|
108
|
+
@res.name
|
109
|
+
end
|
110
|
+
},
|
111
|
+
%{
|
112
|
+
define f()
|
113
|
+
begin
|
114
|
+
@res.name
|
115
|
+
end
|
116
|
+
end
|
117
|
+
}
|
118
|
+
]
|
119
|
+
|
120
|
+
ds.each do |d|
|
121
|
+
|
122
|
+
puts '-' * 80
|
123
|
+
prettify(d)
|
124
|
+
|
125
|
+
parser = Parser.new
|
126
|
+
|
127
|
+
begin
|
128
|
+
parser.parse_with_debug(d)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
puts '-' * 80
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Please also look at the more naive 'erb.rb'. This shows how to optimize an
|
2
|
+
# ERB like parser using parslet.
|
3
|
+
|
4
|
+
$:.unshift File.join(File.dirname(__FILE__), "/../lib")
|
5
|
+
|
6
|
+
require 'parslet'
|
7
|
+
require './qed/applique/gobbleup'
|
8
|
+
require 'parslet/accelerator'
|
9
|
+
|
10
|
+
class ErbParser < Parslet::Parser
|
11
|
+
rule(:ruby) { (str('%>').absent? >> any).repeat.as(:ruby) }
|
12
|
+
|
13
|
+
rule(:expression) { (str('=') >> ruby).as(:expression) }
|
14
|
+
rule(:comment) { (str('#') >> ruby).as(:comment) }
|
15
|
+
rule(:code) { ruby.as(:code) }
|
16
|
+
rule(:erb) { expression | comment | code }
|
17
|
+
|
18
|
+
rule(:erb_with_tags) { str('<%') >> erb >> str('%>') }
|
19
|
+
rule(:text) { (str('<%').absent? >> any).repeat(1) }
|
20
|
+
|
21
|
+
rule(:text_with_ruby) { (text.as(:text) | erb_with_tags).repeat.as(:text) }
|
22
|
+
root(:text_with_ruby)
|
23
|
+
end
|
24
|
+
|
25
|
+
parser = ErbParser.new
|
26
|
+
|
27
|
+
A = Parslet::Accelerator
|
28
|
+
optimized = A.apply(parser,
|
29
|
+
A.rule((A.str(:x).absent? >> A.any).repeat(1)) { GobbleUp.new(x, 1) },
|
30
|
+
A.rule((A.str(:x).absent? >> A.any).repeat(0)) { GobbleUp.new(x, 0) })
|
31
|
+
|
32
|
+
input = File.read(File.dirname(__FILE__) + "/big.erb")
|
33
|
+
|
34
|
+
# Remove the comment marks here to see what difference the optimisation makes.
|
35
|
+
# Commented out for the acceptance tests to run.
|
36
|
+
#
|
37
|
+
# require 'benchmark'
|
38
|
+
# Benchmark.bm(7) do |bm|
|
39
|
+
# bm.report('original') { parser.parse(input) }
|
40
|
+
# bm.report('gobble') { optimized.parse(input) }
|
41
|
+
# end
|
42
|
+
p optimized.parse(input)
|
@@ -0,0 +1 @@
|
|
1
|
+
123*2 (command line): -> 246
|
@@ -0,0 +1,8 @@
|
|
1
|
+
[{:exp=>{:a=>"a"@3}},
|
2
|
+
{:line=>"// line comment"@7},
|
3
|
+
{:exp=>{:a=>"a"@25}},
|
4
|
+
{:exp=>{:a=>"a"@27}},
|
5
|
+
{:exp=>[{:a=>"a"@29}, {:line=>"// line comment"@31}]},
|
6
|
+
{:exp=>[{:a=>"a"@49}, {:multi=>"/* inline comment */"@51}]},
|
7
|
+
{:exp=>{:a=>"a"@72}},
|
8
|
+
{:multi=>"/* multiline\n comment */"@77}]
|
@@ -0,0 +1,54 @@
|
|
1
|
+
--------------------------------------------------------------------------------
|
2
|
+
. 10 . 20
|
3
|
+
01
|
4
|
+
02 define f()
|
5
|
+
03 @res.name
|
6
|
+
04 end
|
7
|
+
05
|
8
|
+
Failed to match sequence (LINE_SEPARATOR? BLOCK LINE_SEPARATOR?) at line 2 char 5.
|
9
|
+
`- Expected one of [DEFINE_BLOCK, BEGIN_BLOCK] at line 2 char 5.
|
10
|
+
|- Failed to match sequence (define:'define' SPACE name:IDENTIFIER '()' BODY 'end') at line 2 char 15.
|
11
|
+
| `- Failed to match sequence (body:((LINE_SEPARATOR (BLOCK / EXPRESSION)){1, }) LINE_SEPARATOR) at line 3 char 11.
|
12
|
+
| `- Expected at least 1 of SPACE? (COMMENT? NEWLINE / ';') SPACE? at line 3 char 11.
|
13
|
+
| `- Failed to match sequence (SPACE? (COMMENT? NEWLINE / ';') SPACE?) at line 3 char 11.
|
14
|
+
| `- Expected one of [COMMENT? NEWLINE, ';'] at line 3 char 11.
|
15
|
+
| |- Failed to match sequence (COMMENT? NEWLINE) at line 3 char 11.
|
16
|
+
| | `- Expected "()", but got "\n " at line 3 char 16.
|
17
|
+
| `- Expected "()", but got "\n " at line 3 char 16.
|
18
|
+
`- Failed to match sequence (pre:((type:'concurrent' SPACE)?) begin:'begin' BODY 'end') at line 2 char 5.
|
19
|
+
`- Expected "()", but got "\n " at line 3 char 16.
|
20
|
+
--------------------------------------------------------------------------------
|
21
|
+
. 10 . 20
|
22
|
+
01
|
23
|
+
02 define f()
|
24
|
+
03 begin
|
25
|
+
04 @res.name
|
26
|
+
05 end
|
27
|
+
06 end
|
28
|
+
07
|
29
|
+
Failed to match sequence (LINE_SEPARATOR? BLOCK LINE_SEPARATOR?) at line 2 char 5.
|
30
|
+
`- Expected one of [DEFINE_BLOCK, BEGIN_BLOCK] at line 2 char 5.
|
31
|
+
|- Failed to match sequence (define:'define' SPACE name:IDENTIFIER '()' BODY 'end') at line 2 char 15.
|
32
|
+
| `- Failed to match sequence (body:((LINE_SEPARATOR (BLOCK / EXPRESSION)){1, }) LINE_SEPARATOR) at line 2 char 15.
|
33
|
+
| `- Expected at least 1 of LINE_SEPARATOR (BLOCK / EXPRESSION) at line 2 char 15.
|
34
|
+
| `- Failed to match sequence (LINE_SEPARATOR (BLOCK / EXPRESSION)) at line 3 char 7.
|
35
|
+
| `- Expected one of [BLOCK, EXPRESSION] at line 3 char 7.
|
36
|
+
| |- Expected one of [DEFINE_BLOCK, BEGIN_BLOCK] at line 3 char 7.
|
37
|
+
| | |- Failed to match sequence (define:'define' SPACE name:IDENTIFIER '()' BODY 'end') at line 3 char 7.
|
38
|
+
| | | `- Expected "define", but got "begin\n" at line 3 char 7.
|
39
|
+
| | `- Failed to match sequence (pre:((type:'concurrent' SPACE)?) begin:'begin' BODY 'end') at line 3 char 12.
|
40
|
+
| | `- Failed to match sequence (body:((LINE_SEPARATOR (BLOCK / EXPRESSION)){1, }) LINE_SEPARATOR) at line 4 char 13.
|
41
|
+
| | `- Expected at least 1 of SPACE? (COMMENT? NEWLINE / ';') SPACE? at line 4 char 13.
|
42
|
+
| | `- Failed to match sequence (SPACE? (COMMENT? NEWLINE / ';') SPACE?) at line 4 char 13.
|
43
|
+
| | `- Expected one of [COMMENT? NEWLINE, ';'] at line 4 char 13.
|
44
|
+
| | |- Failed to match sequence (COMMENT? NEWLINE) at line 4 char 13.
|
45
|
+
| | | `- Expected "()", but got "\n " at line 4 char 18.
|
46
|
+
| | `- Expected "()", but got "\n " at line 4 char 18.
|
47
|
+
| `- Failed to match sequence (RES_ACTIONS res_field:((':' name:IDENTIFIER)?)) at line 3 char 7.
|
48
|
+
| `- Failed to match sequence (resources:REFERENCE res_actions:(res_action:RES_ACTION_OR_LINK{0, })) at line 3 char 7.
|
49
|
+
| `- Failed to match sequence ('@'{1, 2} IDENTIFIER) at line 3 char 7.
|
50
|
+
| `- Expected at least 1 of '@' at line 3 char 7.
|
51
|
+
| `- Expected "()", but got "\n " at line 4 char 18.
|
52
|
+
`- Failed to match sequence (pre:((type:'concurrent' SPACE)?) begin:'begin' BODY 'end') at line 2 char 5.
|
53
|
+
`- Expected "()", but got "\n " at line 4 char 18.
|
54
|
+
--------------------------------------------------------------------------------
|
@@ -0,0 +1,4 @@
|
|
1
|
+
/Users/kaspar/git_work/own/parslet/lib/parslet/atoms/base.rb:326:in `parse_failed': Don't know what to do with bbbb at line 1 char 1. (Parslet::ParseFailed)
|
2
|
+
from /Users/kaspar/git_work/own/parslet/lib/parslet/atoms/base.rb:55:in `parse'
|
3
|
+
from example/documentation.rb:13:in `parse'
|
4
|
+
from example/documentation.rb:18:in `<main>'
|
@@ -0,0 +1 @@
|
|
1
|
+
"aaaa"@0
|
@@ -0,0 +1 @@
|
|
1
|
+
example/empty.rb:13:in `<main>': rule(:empty) { ... } returns nil. Still not implemented, but already used? (NotImplementedError)
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{:text=>[{:text=>"The value of x is "@0}, {:expression=>{:ruby=>" x "@21}}, {:text=>"."@26}]}
|
2
|
+
{:text=>[{:code=>{:ruby=>" 1 + 2 "@2}}]}
|
3
|
+
{:text=>[{:comment=>{:ruby=>" commented "@3}}]}
|
4
|
+
The not printed result of "a = 2".
|
5
|
+
The not printed non-evaluated comment "a = 1", see the value of a below.
|
6
|
+
The nicely printed result.
|
7
|
+
The value of a is 2, and b is 3.
|
@@ -0,0 +1 @@
|
|
1
|
+
"ac"@0
|
@@ -0,0 +1 @@
|
|
1
|
+
[{:a=>"a"@0}, {:a=>"a"@1}, {:a=>"a"@5}, {:a=>"a"@7}]
|
@@ -0,0 +1,9 @@
|
|
1
|
+
0.0.0.0 -> {:ipv4=>"0.0.0.0"@0}
|
2
|
+
255.255.255.255 -> {:ipv4=>"255.255.255.255"@0}
|
3
|
+
255.255.255 -> Failed: Expected one of [IPV4, IPV6] at line 1 char 1.
|
4
|
+
1:2:3:4:5:6:7:8 -> {:ipv6=>"1:2:3:4:5:6:7:8"@0}
|
5
|
+
12AD:34FC:A453:1922:: -> {:ipv6=>"12AD:34FC:A453:1922::"@0}
|
6
|
+
12AD::34FC -> {:ipv6=>"12AD::34FC"@0}
|
7
|
+
12AD:: -> {:ipv6=>"12AD::"@0}
|
8
|
+
:: -> {:ipv6=>"::"@0}
|
9
|
+
1:2 -> Failed: Expected one of [IPV4, IPV6] at line 1 char 1.
|
@@ -0,0 +1,5 @@
|
|
1
|
+
|
2
|
+
{:array=>[{:number=>"1"@5}, {:number=>"2"@8}, {:number=>"3"@11}, {:null=>"null"@14}, {:string=>"asdfasdf asdfds"@25}, {:object=>{:entry=>{:key=>{:string=>"a"@46}, :val=>{:number=>"-1.2"@50}}}}, {:object=>[{:entry=>{:key=>{:string=>"b"@61}, :val=>{:true=>"true"@65}}}, {:entry=>{:key=>{:string=>"c"@72}, :val=>{:false=>"false"@76}}}]}, {:number=>"0.1e24"@89}, {:true=>"true"@97}, {:false=>"false"@103}, {:array=>{:number=>"1"@112}}]}
|
3
|
+
|
4
|
+
[1, 2, 3, nil, "asdfasdf asdfds", {"a"=>-1.2}, {"b"=>true, "c"=>false}, 1.0e+23, true, false, [1]]
|
5
|
+
|
File without changes
|
@@ -0,0 +1,54 @@
|
|
1
|
+
--------------------------------------------------------------------------------
|
2
|
+
. 10 . 20
|
3
|
+
01
|
4
|
+
02 define f()
|
5
|
+
03 @res.name
|
6
|
+
04 end
|
7
|
+
05
|
8
|
+
Failed to match sequence (LINE_SEPARATOR? BLOCK LINE_SEPARATOR?) at line 2 char 5.
|
9
|
+
`- Expected one of [DEFINE_BLOCK, BEGIN_BLOCK] at line 2 char 5.
|
10
|
+
|- Failed to match sequence (define:'define' SPACE name:IDENTIFIER '()' BODY 'end') at line 2 char 15.
|
11
|
+
| `- Failed to match sequence (body:((LINE_SEPARATOR (BLOCK / EXPRESSION)){1, }) LINE_SEPARATOR) at line 3 char 11.
|
12
|
+
| `- Expected at least 1 of SPACE? (COMMENT? NEWLINE / ';') SPACE? at line 3 char 11.
|
13
|
+
| `- Failed to match sequence (SPACE? (COMMENT? NEWLINE / ';') SPACE?) at line 3 char 11.
|
14
|
+
| `- Expected one of [COMMENT? NEWLINE, ';'] at line 3 char 11.
|
15
|
+
| |- Failed to match sequence (COMMENT? NEWLINE) at line 3 char 11.
|
16
|
+
| | `- Failed to match [\\r\\n] at line 3 char 11.
|
17
|
+
| `- Expected ";", but got "." at line 3 char 11.
|
18
|
+
`- Failed to match sequence (pre:((type:'concurrent' SPACE)?) begin:'begin' BODY 'end') at line 2 char 5.
|
19
|
+
`- Expected "begin", but got "defin" at line 2 char 5.
|
20
|
+
--------------------------------------------------------------------------------
|
21
|
+
. 10 . 20
|
22
|
+
01
|
23
|
+
02 define f()
|
24
|
+
03 begin
|
25
|
+
04 @res.name
|
26
|
+
05 end
|
27
|
+
06 end
|
28
|
+
07
|
29
|
+
Failed to match sequence (LINE_SEPARATOR? BLOCK LINE_SEPARATOR?) at line 2 char 5.
|
30
|
+
`- Expected one of [DEFINE_BLOCK, BEGIN_BLOCK] at line 2 char 5.
|
31
|
+
|- Failed to match sequence (define:'define' SPACE name:IDENTIFIER '()' BODY 'end') at line 2 char 15.
|
32
|
+
| `- Failed to match sequence (body:((LINE_SEPARATOR (BLOCK / EXPRESSION)){1, }) LINE_SEPARATOR) at line 2 char 15.
|
33
|
+
| `- Expected at least 1 of LINE_SEPARATOR (BLOCK / EXPRESSION) at line 2 char 15.
|
34
|
+
| `- Failed to match sequence (LINE_SEPARATOR (BLOCK / EXPRESSION)) at line 3 char 7.
|
35
|
+
| `- Expected one of [BLOCK, EXPRESSION] at line 3 char 7.
|
36
|
+
| |- Expected one of [DEFINE_BLOCK, BEGIN_BLOCK] at line 3 char 7.
|
37
|
+
| | |- Failed to match sequence (define:'define' SPACE name:IDENTIFIER '()' BODY 'end') at line 3 char 7.
|
38
|
+
| | | `- Expected "define", but got "begin\n" at line 3 char 7.
|
39
|
+
| | `- Failed to match sequence (pre:((type:'concurrent' SPACE)?) begin:'begin' BODY 'end') at line 3 char 12.
|
40
|
+
| | `- Failed to match sequence (body:((LINE_SEPARATOR (BLOCK / EXPRESSION)){1, }) LINE_SEPARATOR) at line 4 char 13.
|
41
|
+
| | `- Expected at least 1 of SPACE? (COMMENT? NEWLINE / ';') SPACE? at line 4 char 13.
|
42
|
+
| | `- Failed to match sequence (SPACE? (COMMENT? NEWLINE / ';') SPACE?) at line 4 char 13.
|
43
|
+
| | `- Expected one of [COMMENT? NEWLINE, ';'] at line 4 char 13.
|
44
|
+
| | |- Failed to match sequence (COMMENT? NEWLINE) at line 4 char 13.
|
45
|
+
| | | `- Failed to match [\\r\\n] at line 4 char 13.
|
46
|
+
| | `- Expected ";", but got "." at line 4 char 13.
|
47
|
+
| `- Failed to match sequence (RES_ACTIONS res_field:((':' name:IDENTIFIER)?)) at line 3 char 7.
|
48
|
+
| `- Failed to match sequence (resources:REFERENCE res_actions:(res_action:RES_ACTION_OR_LINK{0, })) at line 3 char 7.
|
49
|
+
| `- Failed to match sequence ('@'{1, 2} IDENTIFIER) at line 3 char 7.
|
50
|
+
| `- Expected at least 1 of '@' at line 3 char 7.
|
51
|
+
| `- Expected "@", but got "b" at line 3 char 7.
|
52
|
+
`- Failed to match sequence (pre:((type:'concurrent' SPACE)?) begin:'begin' BODY 'end') at line 2 char 5.
|
53
|
+
`- Expected "begin", but got "defin" at line 2 char 5.
|
54
|
+
--------------------------------------------------------------------------------
|
@@ -0,0 +1 @@
|
|
1
|
+
{:text=>[{:text=>"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n"@0}, {:expression=>{:ruby=>" erb tag "@2685}}, {:text=>"\n\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n"@2696}]}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
(): {:l=>"("@0, :m=>nil, :r=>")"@1} (1 parens)
|
2
|
+
|
3
|
+
(()): {:l=>"("@0, :m=>{:l=>"("@1, :m=>nil, :r=>")"@2}, :r=>")"@3} (2 parens)
|
4
|
+
|
5
|
+
((((())))): {:l=>"("@0, :m=>{:l=>"("@1, :m=>{:l=>"("@2, :m=>{:l=>"("@3, :m=>{:l=>"("@4, :m=>nil, :r=>")"@5}, :r=>")"@6}, :r=>")"@7}, :r=>")"@8}, :r=>")"@9} (5 parens)
|
6
|
+
|
7
|
+
((()): Failed to match sequence (l:'(' m:(BALANCED?) r:')') at line 1 char 6.
|
8
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
String contents: This is a \"String\" in which you can escape stuff
|
@@ -0,0 +1 @@
|
|
1
|
+
parses 'aba'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"And when Spring comes"
|
2
|
+
{:bud=>{:stem=>[{:branch=>:leaf}]}}
|
3
|
+
|
4
|
+
"And when Summer comes"
|
5
|
+
{:bud=>{:stem=>[{:branch=>[:leaf, :flower]}]}}
|
6
|
+
|
7
|
+
"And when Fall comes"
|
8
|
+
Fruit!
|
9
|
+
Falling Leaves!
|
10
|
+
{:bud=>{:stem=>[{:branch=>[]}]}}
|
11
|
+
|
12
|
+
"And when Winter comes"
|
13
|
+
{:bud=>{:stem=>[]}}
|
14
|
+
|
15
|
+
"And when Spring comes"
|
16
|
+
{:bud=>{:stem=>[{:branch=>:leaf}]}}
|
17
|
+
|
18
|
+
"And when Summer comes"
|
19
|
+
{:bud=>{:stem=>[{:branch=>[:leaf, :flower]}]}}
|
20
|
+
|
21
|
+
"And when Fall comes"
|
22
|
+
Fruit!
|
23
|
+
Falling Leaves!
|
24
|
+
{:bud=>{:stem=>[{:branch=>[]}]}}
|
25
|
+
|
26
|
+
"And when Winter comes"
|
27
|
+
{:bud=>{:stem=>[]}}
|
28
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
["RubyKaigi2009のテーマは、「変わる/変える」です。", " 前回のRubyKaigi2008のテーマであった「多様性」の言葉の通り、 2008年はRubyそのものに関しても、またRubyの活躍する舞台に関しても、 ますます多様化が進みつつあります。", "RubyKaigi2008は、そのような Rubyの生態系をあらためて認識する場となりました。", " しかし、こうした多様化が進む中、異なる者同士が単純に距離を 置いたままでは、その違いを認識したところであまり意味がありません。", " 異なる実装、異なる思想、異なる背景といった、様々な多様性を理解しつつ、 すり合わせるべきものをすり合わせ、変えていくべきところを 変えていくことが、豊かな未来へとつながる道に違いありません。"]
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# A small example that demonstrates the power of tree pattern matching. Also
|
2
|
+
# uses '.as(:name)' to construct a tree that can reliably be matched
|
3
|
+
# afterwards.
|
4
|
+
|
5
|
+
$:.unshift File.dirname(__FILE__) + "/../lib"
|
6
|
+
|
7
|
+
require 'pp'
|
8
|
+
require 'parslet'
|
9
|
+
|
10
|
+
module LISP # as in 'lots of insipid and stupid parenthesis'
|
11
|
+
class Parser < Parslet::Parser
|
12
|
+
rule(:balanced) {
|
13
|
+
str('(').as(:l) >> balanced.maybe.as(:m) >> str(')').as(:r)
|
14
|
+
}
|
15
|
+
|
16
|
+
root(:balanced)
|
17
|
+
end
|
18
|
+
|
19
|
+
class Transform < Parslet::Transform
|
20
|
+
rule(:l => '(', :m => simple(:x), :r => ')') {
|
21
|
+
# innermost :m will contain nil
|
22
|
+
x.nil? ? 1 : x+1
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
parser = LISP::Parser.new
|
28
|
+
transform = LISP::Transform.new
|
29
|
+
%w!
|
30
|
+
()
|
31
|
+
(())
|
32
|
+
((((()))))
|
33
|
+
((())
|
34
|
+
!.each do |pexp|
|
35
|
+
begin
|
36
|
+
result = parser.parse(pexp)
|
37
|
+
puts "#{"%20s"%pexp}: #{result.inspect} (#{transform.apply(result)} parens)"
|
38
|
+
rescue Parslet::ParseFailed => m
|
39
|
+
puts "#{"%20s"%pexp}: #{m}"
|
40
|
+
end
|
41
|
+
puts
|
42
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
|
2
|
+
# A demonstration of the new precedence climbing infix expression parser.
|
3
|
+
|
4
|
+
$:.unshift File.dirname(__FILE__) + "/../lib"
|
5
|
+
|
6
|
+
require 'pp'
|
7
|
+
require 'rspec'
|
8
|
+
require 'parslet'
|
9
|
+
require 'parslet/rig/rspec'
|
10
|
+
require 'parslet/convenience'
|
11
|
+
|
12
|
+
class InfixExpressionParser < Parslet::Parser
|
13
|
+
root :variable_assignment_list
|
14
|
+
|
15
|
+
rule(:space) { match[' '] }
|
16
|
+
|
17
|
+
def cts atom
|
18
|
+
atom >> space.repeat
|
19
|
+
end
|
20
|
+
def infix *args
|
21
|
+
Infix.new(*args)
|
22
|
+
end
|
23
|
+
|
24
|
+
# This is the heart of the infix expression parser: real simple definitions
|
25
|
+
# for all the pieces we need.
|
26
|
+
rule(:mul_op) { cts match['*/'] }
|
27
|
+
rule(:add_op) { cts match['+-'] }
|
28
|
+
rule(:digit) { match['0-9'] }
|
29
|
+
rule(:integer) { cts digit.repeat(1).as(:int) }
|
30
|
+
|
31
|
+
rule(:expression) { infix_expression(integer,
|
32
|
+
[mul_op, 2, :left],
|
33
|
+
[add_op, 1, :right]) }
|
34
|
+
|
35
|
+
# And now adding variable assignments to that, just to a) demonstrate this
|
36
|
+
# embedded in a bigger parser, and b) make the example interesting.
|
37
|
+
rule(:variable_assignment_list) {
|
38
|
+
variable_assignment.repeat(1) }
|
39
|
+
rule(:variable_assignment) {
|
40
|
+
identifier.as(:ident) >> equal_sign >> expression.as(:exp) >> eol }
|
41
|
+
rule(:identifier) {
|
42
|
+
cts (match['a-z'] >> match['a-zA-Z0-9'].repeat) }
|
43
|
+
rule(:equal_sign) {
|
44
|
+
cts str('=') }
|
45
|
+
rule(:eol) {
|
46
|
+
cts(str("\n")) | any.absent? }
|
47
|
+
end
|
48
|
+
|
49
|
+
class InfixInterpreter < Parslet::Transform
|
50
|
+
rule(int: simple(:int)) { Integer(int) }
|
51
|
+
rule(ident: simple(:ident), exp: simple(:result)) { |d|
|
52
|
+
d[:doc][d[:ident].to_s.strip.to_sym] = d[:result] }
|
53
|
+
|
54
|
+
rule(l: simple(:l), o: /^\*/, r: simple(:r)) { l * r }
|
55
|
+
rule(l: simple(:l), o: /^\+/, r: simple(:r)) { l + r }
|
56
|
+
end
|
57
|
+
|
58
|
+
input = <<ASSIGNMENTS
|
59
|
+
a = 1
|
60
|
+
b = 2
|
61
|
+
c = 3 * 25
|
62
|
+
d = 100 + 3*4
|
63
|
+
ASSIGNMENTS
|
64
|
+
|
65
|
+
puts input
|
66
|
+
|
67
|
+
int_tree = InfixExpressionParser.new.parse_with_debug(input)
|
68
|
+
bindings = {}
|
69
|
+
result = InfixInterpreter.new.apply(int_tree, doc: bindings)
|
70
|
+
|
71
|
+
pp bindings
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# The example from the readme. With this, I am making sure that the readme
|
2
|
+
# 'works'. Is this too messy?
|
3
|
+
|
4
|
+
$:.unshift File.dirname(__FILE__) + "/../lib"
|
5
|
+
|
6
|
+
# cut here -------------------------------------------------------------------
|
7
|
+
require 'parslet'
|
8
|
+
include Parslet
|
9
|
+
|
10
|
+
# Constructs a parser using a Parser Expression Grammar like DSL:
|
11
|
+
parser = str('"') >>
|
12
|
+
(
|
13
|
+
str('\\') >> any |
|
14
|
+
str('"').absent? >> any
|
15
|
+
).repeat.as(:string) >>
|
16
|
+
str('"')
|
17
|
+
|
18
|
+
# Parse the string and capture parts of the interpretation (:string above)
|
19
|
+
tree = parser.parse('"This is a \\"String\\" in which you can escape stuff"')
|
20
|
+
|
21
|
+
tree # => {:string=>"This is a \\\"String\\\" in which you can escape stuff"}
|
22
|
+
|
23
|
+
# Here's how you can grab results from that tree:
|
24
|
+
|
25
|
+
transform = Parslet::Transform.new do
|
26
|
+
rule(:string => simple(:x)) {
|
27
|
+
puts "String contents: #{x}" }
|
28
|
+
end
|
29
|
+
transform.apply(tree)
|
30
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
$:.unshift File.dirname(__FILE__) + "/../lib"
|
3
|
+
require 'parslet'
|
4
|
+
|
5
|
+
include Parslet
|
6
|
+
|
7
|
+
parser = str('a').capture(:a) >> scope { str('b').capture(:a) } >>
|
8
|
+
dynamic { |s,c| str(c.captures[:a]) }
|
9
|
+
|
10
|
+
begin
|
11
|
+
parser.parse('aba')
|
12
|
+
puts "parses 'aba'"
|
13
|
+
rescue
|
14
|
+
puts "exception!"
|
15
|
+
end
|