kpeg 1.0.0 → 1.1.0

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.
@@ -1,6 +1,6 @@
1
1
  module KPeg
2
2
 
3
- VERSION = "1.0.0"
3
+ VERSION = "1.1.0"
4
4
 
5
5
  def self.grammar
6
6
  g = Grammar.new
@@ -265,8 +265,6 @@ module KPeg
265
265
  else
266
266
  return ans
267
267
  end
268
-
269
- return ans
270
268
  end
271
269
  end
272
270
 
@@ -299,8 +297,6 @@ module KPeg
299
297
  else
300
298
  return ans
301
299
  end
302
-
303
- return ans
304
300
  end
305
301
  end
306
302
 
@@ -77,7 +77,7 @@ sgl_escape_quote = "\\'" { "'" }
77
77
  | "[" - range_num:e - "]" { [e.to_i, e.to_i] }
78
78
 
79
79
  curly_block = curly
80
- curly = "{" < (/[^{}"']+/ | string | curly)* > "}" { @g.action(text) }
80
+ curly = "{" < (spaces | /[^{}"']+/ | string | curly)* > "}" { @g.action(text) }
81
81
  nested_paren = "(" (/[^()"']+/ | string | nested_paren)* ")"
82
82
 
83
83
  value = value:v ":" var:n { @g.t(v,n) }
@@ -270,8 +270,6 @@ class KPeg::FormatParser
270
270
  else
271
271
  return ans
272
272
  end
273
-
274
- return ans
275
273
  end
276
274
  end
277
275
 
@@ -304,8 +302,6 @@ class KPeg::FormatParser
304
302
  else
305
303
  return ans
306
304
  end
307
-
308
- return ans
309
305
  end
310
306
  end
311
307
 
@@ -278,8 +278,6 @@ class KPeg::StringEscape
278
278
  else
279
279
  return ans
280
280
  end
281
-
282
- return ans
283
281
  end
284
282
  end
285
283
 
@@ -312,8 +310,6 @@ class KPeg::StringEscape
312
310
  else
313
311
  return ans
314
312
  end
315
-
316
- return ans
317
313
  end
318
314
  end
319
315
 
@@ -431,6 +431,25 @@ a=b
431
431
  assert_equal expected, m.directives
432
432
  end
433
433
 
434
+ def test_parser_directive_single_quote
435
+ m = match <<-GRAMMAR
436
+ %% header {
437
+ # It's a bug I found
438
+ }
439
+
440
+ a=b
441
+ GRAMMAR
442
+
443
+ assert_rule G.ref("b"), m
444
+
445
+ expected = {
446
+ "header" => KPeg::Action.new("\n# It's a bug I found\n")
447
+ }
448
+
449
+ assert_equal expected, m.directives
450
+ end
451
+
452
+
434
453
  def test_parser_setup
435
454
  m = match "%% { def initialize; end }\na=b"
436
455
  assert_rule G.ref("b"), m
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kpeg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Phoenix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-04 00:00:00.000000000 Z
11
+ date: 2016-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.2'
19
+ version: '5.8'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.2'
26
+ version: '5.8'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '4.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hoe
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.7'
47
+ version: '3.15'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.7'
54
+ version: '3.15'
55
55
  description: |-
56
56
  KPeg is a simple PEG library for Ruby. It provides an API as well as native
57
57
  grammar to build the grammar.
@@ -70,10 +70,13 @@ extra_rdoc_files:
70
70
  - Manifest.txt
71
71
  - README.rdoc
72
72
  - examples/phone_number/README.md
73
+ - examples/tiny_markdown/sample.md
73
74
  - examples/upper/README.md
74
75
  files:
75
- - .autotest
76
- - .travis.yml
76
+ - ".autotest"
77
+ - ".hoeignore"
78
+ - ".travis.yml"
79
+ - Gemfile
77
80
  - History.txt
78
81
  - LICENSE
79
82
  - Manifest.txt
@@ -91,6 +94,12 @@ files:
91
94
  - examples/phone_number/README.md
92
95
  - examples/phone_number/phone_number.kpeg
93
96
  - examples/phone_number/phone_number.rb
97
+ - examples/tiny_markdown/Rakefile
98
+ - examples/tiny_markdown/driver.rb
99
+ - examples/tiny_markdown/node.rb
100
+ - examples/tiny_markdown/sample.md
101
+ - examples/tiny_markdown/tiny_markdown.kpeg
102
+ - examples/tiny_markdown/tiny_markdown.kpeg.rb
94
103
  - examples/upper/README.md
95
104
  - examples/upper/upper.kpeg
96
105
  - examples/upper/upper.rb
@@ -116,42 +125,33 @@ files:
116
125
  - test/test_kpeg_format_parser_round_trip.rb
117
126
  - test/test_kpeg_grammar.rb
118
127
  - test/test_kpeg_grammar_renderer.rb
128
+ - test/test_kpeg_string_escape.rb
119
129
  - vim/syntax_kpeg/ftdetect/kpeg.vim
120
130
  - vim/syntax_kpeg/syntax/kpeg.vim
121
- - test/test_kpeg_string_escape.rb
122
- - .gemtest
123
131
  homepage: https://github.com/evanphx/kpeg
124
132
  licenses:
125
133
  - MIT
126
134
  metadata: {}
127
135
  post_install_message:
128
136
  rdoc_options:
129
- - --main
137
+ - "--main"
130
138
  - README.rdoc
131
139
  require_paths:
132
140
  - lib
133
141
  required_ruby_version: !ruby/object:Gem::Requirement
134
142
  requirements:
135
- - - '>='
143
+ - - ">="
136
144
  - !ruby/object:Gem::Version
137
145
  version: '0'
138
146
  required_rubygems_version: !ruby/object:Gem::Requirement
139
147
  requirements:
140
- - - '>='
148
+ - - ">="
141
149
  - !ruby/object:Gem::Version
142
150
  version: '0'
143
151
  requirements: []
144
- rubyforge_project: kpeg
145
- rubygems_version: 2.1.10
152
+ rubyforge_project:
153
+ rubygems_version: 2.5.1
146
154
  signing_key:
147
155
  specification_version: 4
148
156
  summary: KPeg is a simple PEG library for Ruby
149
- test_files:
150
- - test/test_kpeg.rb
151
- - test/test_kpeg_code_generator.rb
152
- - test/test_kpeg_compiled_parser.rb
153
- - test/test_kpeg_format.rb
154
- - test/test_kpeg_format_parser_round_trip.rb
155
- - test/test_kpeg_grammar.rb
156
- - test/test_kpeg_grammar_renderer.rb
157
- - test/test_kpeg_string_escape.rb
157
+ test_files: []
data/.gemtest DELETED
File without changes