ruco-cpp 0.3.2 → 0.4.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.
- checksums.yaml +4 -4
- data/lib/ruco.rb +22 -0
- data/lib/ruco/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 148946021e8cbdc944f3ab6da6043a6166be80cd
|
4
|
+
data.tar.gz: dc4a66d080db5cb0210eb16fbce507b817dcd9d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0bdef0134ee6bbfce97aa50d0e1d3bd5f5788ea3e03dd0faf1c234077ca0fe03f7a3191c72ce325b26f4d52773dac82122ac581caef89a70c339d013ecb71019
|
7
|
+
data.tar.gz: 419e4fb2e975e35056911b2264a0b1be1407d34a4661b5fe3f3b5a4a4e3c62907aa04a7ec568cdbe6a921c151d2a452c52217113fbe64a1a366f2a1b82a930e7
|
data/lib/ruco.rb
CHANGED
@@ -103,6 +103,24 @@ module Ruco
|
|
103
103
|
return thing
|
104
104
|
end
|
105
105
|
|
106
|
+
def group_type
|
107
|
+
@type
|
108
|
+
end
|
109
|
+
|
110
|
+
def grammar_tree
|
111
|
+
@stuff.map do |x|
|
112
|
+
if x.is_a? LitString
|
113
|
+
{type: "terminal", token: x.str}
|
114
|
+
elsif x.is_a? Group
|
115
|
+
{type: "group", sort: x.group_type, inner: x.grammar_tree}
|
116
|
+
elsif x.is_a? Identifier or x.is_a? Variation or x.is_a? Token
|
117
|
+
{type: "nonterminal", ident: x.name}
|
118
|
+
else
|
119
|
+
{type: "unknown", x: "*****************"}
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
106
124
|
def sync
|
107
125
|
@stuff << Sync.new
|
108
126
|
end
|
@@ -276,6 +294,10 @@ module Ruco
|
|
276
294
|
@productions[name] = p
|
277
295
|
end
|
278
296
|
|
297
|
+
def generate_tree
|
298
|
+
result = @productions.map{|k,v| [k, v.grammar_tree] }.to_h
|
299
|
+
end
|
300
|
+
|
279
301
|
def generate_header()
|
280
302
|
|
281
303
|
classlist = []
|
data/lib/ruco/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruco-cpp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Siaw
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -187,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
187
|
version: '0'
|
188
188
|
requirements: []
|
189
189
|
rubyforge_project:
|
190
|
-
rubygems_version: 2.6.
|
190
|
+
rubygems_version: 2.6.11
|
191
191
|
signing_key:
|
192
192
|
specification_version: 4
|
193
193
|
summary: Boilerplate generator for Coco/R
|