rsec 0.3.6 → 0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,6 @@ s = '(3+24/5)/10-3*4+((82321+12-3)-3*4+(82321+12-3))/5'
7
7
 
8
8
  # rsec
9
9
  $:.unshift "#{File.dirname(__FILE__)}/../lib"
10
- $:.unshift "#{File.dirname(__FILE__)}/../ext"
11
10
  require "#{File.dirname(__FILE__)}/../examples/arithmetic"
12
11
 
13
12
  # treetop
@@ -3,7 +3,6 @@ s = '(3+24/5)/10-3*4+((82321+12-3)-3*4+(82321+12-3))/5'
3
3
 
4
4
  # rsec
5
5
  $:.unshift "#{File.dirname(__FILE__)}/../lib"
6
- $:.unshift "#{File.dirname(__FILE__)}/../ext"
7
6
  require "#{File.dirname(__FILE__)}/../examples/arithmetic"
8
7
 
9
8
  p = arithmetic
@@ -4,37 +4,17 @@
4
4
  # All code is under this module
5
5
  module Rsec
6
6
  # preload configs
7
-
7
+
8
8
  # config method name
9
9
  # default is :r
10
10
  unless Rsec.const_defined?(:TO_PARSER_METHOD)
11
11
  TO_PARSER_METHOD = :r
12
12
  end
13
13
 
14
- # config C extension usage
15
- # options:
16
- # :try - default
17
- # :no - don't use
18
- # :yes - use
19
- unless Rsec.const_defined?(:USE_CEXT)
20
- USE_CEXT = :try
21
- end
22
-
23
- VERSION = '0.3'
14
+ VERSION = '0.4'
24
15
  end
25
16
 
26
17
  require "strscan"
27
18
  require "rsec/utils"
28
19
  require "rsec/parser"
29
20
  require "rsec/helpers"
30
-
31
- case Rsec::USE_CEXT
32
- when :try
33
- require "rsec/ext" rescue nil
34
- when :yes
35
- require "rsec/ext"
36
- when :no
37
- else
38
- warn "Rsec::USE_CEXT should be one of :try, :yes, :no"
39
- end
40
-
@@ -9,7 +9,7 @@ module Rsec #:nodoc:
9
9
  module Helpers
10
10
 
11
11
  # @ desc.helper
12
- # Lazy parser
12
+ # Lazy parser is constructed when parsing starts. It is useful to reference a parser not defined yet
13
13
  # @ example
14
14
  # parser = lazy{future}
15
15
  # future = 'jim'.r
@@ -104,7 +104,7 @@ module Rsec #:nodoc:
104
104
  parser = \
105
105
  case type
106
106
  when :double; PDouble.new sign_strategy, false # decimal
107
- when :hex_double; PDouble.new sign_strategy, true # hex
107
+ when :hex_double; raise "Removed because Ruby 1.9.3 removed float from hex" # PDouble.new sign_strategy, true # hex
108
108
  when :int32; PInt32.new sign_strategy, base
109
109
  when :int64; PInt64.new sign_strategy, base
110
110
  when :unsigned_int32;
@@ -14,12 +14,6 @@ The pure Ruby gem is fast enough (about 10+x faster than treetop generated code)
14
14
 
15
15
  gem in rsec
16
16
 
17
- For extreme performance under C Ruby:
18
-
19
- gem in rsec-ext
20
-
21
- It is about 30% faster than Haskell Parsec in the benchmark.
22
-
23
17
  == Doc
24
18
 
25
19
  http://rsec.heroku.com
@@ -1,7 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
3
  $:.unshift "#{File.dirname(__FILE__)}/../lib"
4
- $:.unshift "#{File.dirname(__FILE__)}/../ext"
5
4
  require "rsec"
6
5
  include Rsec::Helpers
7
6
  require "test/unit"
@@ -25,6 +25,7 @@ class TestPrim < TC
25
25
  end
26
26
 
27
27
  def test_hex_floating
28
+ return # NOTE Ruby 1.9.3 removed Float() from hex values
28
29
  [:hex_double].each do |ty|
29
30
  p = prim ty
30
31
  ase Float('0x3.2').round(4), p.parse('0x3.2').round(4)
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rsec
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.3.6
5
+ version: "0.4"
6
6
  platform: ruby
7
7
  authors:
8
8
  - NS
@@ -10,8 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-08 00:00:00 +08:00
14
- default_executable:
13
+ date: 2011-12-28 00:00:00 Z
15
14
  dependencies: []
16
15
 
17
16
  description: Easy and extreme fast dynamic PEG parser combinator.
@@ -39,9 +38,9 @@ files:
39
38
  - examples/c_minus.rb
40
39
  - examples/little_markdown.rb
41
40
  - examples/nasm_manual.rb
41
+ - examples/s_exp.rb
42
42
  - examples/scheme.rb
43
43
  - examples/slow_json.rb
44
- - examples/s_exp.rb
45
44
  - examples/hello.scm
46
45
  - test/helpers.rb
47
46
  - test/test_branch.rb
@@ -58,7 +57,6 @@ files:
58
57
  - bench/bench.rb
59
58
  - bench/little.rb
60
59
  - bench/profile.rb
61
- has_rdoc: true
62
60
  homepage: http://rsec.heroku.com
63
61
  licenses: []
64
62
 
@@ -82,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
80
  requirements: []
83
81
 
84
82
  rubyforge_project:
85
- rubygems_version: 1.6.1
83
+ rubygems_version: 1.8.11
86
84
  signing_key:
87
85
  specification_version: 3
88
86
  summary: Extreme Fast Parser Combinator for Ruby