antlr3 1.8.12 → 1.8.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/DEVELOPER-README.rdoc +246 -0
- data/Manifest.txt +121 -120
- data/{README.txt → README.rdoc} +28 -27
- data/java/antlr-full-3.2.1.jar +0 -0
- data/lib/antlr3/task.rb +8 -0
- data/lib/antlr3/template.rb +19 -4
- data/lib/antlr3/version.rb +1 -1
- data/rakefile +28 -28
- data/templates/Ruby.stg +2 -2
- metadata +154 -155
@@ -0,0 +1,246 @@
|
|
1
|
+
= Developing / Customizing The ANTLR for Ruby Project
|
2
|
+
|
3
|
+
by Kyle Yetter <kcy5b@yahoo.com>
|
4
|
+
Originally Written on November 20, 2009
|
5
|
+
Updated on November 3, 2010
|
6
|
+
|
7
|
+
== Just a Quick Note
|
8
|
+
|
9
|
+
I'd love to keep this all intuitive and straight foward. However,
|
10
|
+
this project differs from many typical ruby projects in that it
|
11
|
+
dependens upon a number of entities outside the warm n' cozy ruby
|
12
|
+
environment -- that is, java, the ANTLR tool, and ANTLR's
|
13
|
+
StringTemplate-based code generation architecture. So there are
|
14
|
+
a number of variables that add good helping of complexity to
|
15
|
+
the project.
|
16
|
+
|
17
|
+
So if you have any trouble getting everything to work properly,
|
18
|
+
do yourself a favor and read through this guide. Feel free to
|
19
|
+
drop any other specific questions to me via e-mail and
|
20
|
+
I'll try to help you out as I can.
|
21
|
+
|
22
|
+
== Getting Started
|
23
|
+
|
24
|
+
1. pull the repository
|
25
|
+
|
26
|
+
git clone git://rubyforge.org/antlr3.git
|
27
|
+
|
28
|
+
2. Modify your PATH environmental variable to add the following directories:
|
29
|
+
|
30
|
+
$base/bin $base/scripts $base/vendor/gems/ruby-1.8/bin
|
31
|
+
|
32
|
+
where $base is the absolute path of the project's base directory.
|
33
|
+
If you use a bash-flavored shell, you can do this by running:
|
34
|
+
|
35
|
+
. ./project-env.sh
|
36
|
+
|
37
|
+
== External Programs Used By the Project
|
38
|
+
|
39
|
+
general:
|
40
|
+
|
41
|
+
* git
|
42
|
+
* ruby 1.8.7
|
43
|
+
* ruby 1.9.1 (optional)
|
44
|
+
* java
|
45
|
+
* graphviz (optional)
|
46
|
+
|
47
|
+
for documentation:
|
48
|
+
|
49
|
+
* pygmentize (optional)
|
50
|
+
|
51
|
+
for building ANTLR:
|
52
|
+
|
53
|
+
* javac
|
54
|
+
* fastjar or jar
|
55
|
+
* maven 2 (mvn) (optional)
|
56
|
+
|
57
|
+
== Development Dependencies / Third-Party Gems
|
58
|
+
|
59
|
+
* the ANTLR runtime library (everything under lib) has no external
|
60
|
+
dependencies (and ideally will stay that way)
|
61
|
+
|
62
|
+
* to allow contributors to take advantage of various useful third party
|
63
|
+
libraries for testing, benchmarking, utilities, yada yada yada, the
|
64
|
+
project uses a third-party library, ``isolate'', to manage a project-specific stash of gems
|
65
|
+
|
66
|
+
* the file *config/isolate.rb* specifies the gems to fetch -- edit this
|
67
|
+
to add/remove development dependencies
|
68
|
+
|
69
|
+
* the project configuration object, $project, which is defined in
|
70
|
+
*config/project.rb*, handles setting up the load path and loading
|
71
|
+
Isolate to set up the rubygems environment
|
72
|
+
|
73
|
+
* more info on isolate can be found at the project's homepage:
|
74
|
+
|
75
|
+
http://github.com/jbarnette/isolate
|
76
|
+
|
77
|
+
== Project Layout
|
78
|
+
|
79
|
+
=== Top Level
|
80
|
+
|
81
|
+
antlr3
|
82
|
+
|-- bin : contains the antlr4ruby program
|
83
|
+
|-- config : project development configuration scripts and data
|
84
|
+
|-- dev-lib : home of all extra libraries used for development purposes
|
85
|
+
|-- doc : custom documentation
|
86
|
+
|-- java : the modified ANTLR3 jar and RubyTarget.java
|
87
|
+
|-- lib : the ruby ANTLR runtime library
|
88
|
+
|-- log : archived benchmarking data and other project logs
|
89
|
+
|-- notes : random text notes I recorded throughout development
|
90
|
+
|-- samples : ANTLR grammar samples customized for ruby output
|
91
|
+
|-- scripts : development utilities
|
92
|
+
|-- templates : the string template files ANTLR uses to write ruby
|
93
|
+
|-- test : a bunch of test code
|
94
|
+
`-- vendor : third party libraries used by the development tools
|
95
|
+
|
96
|
+
=== Templates
|
97
|
+
|
98
|
+
templates
|
99
|
+
|-- Ruby.stg : all of the core templates for ruby output
|
100
|
+
|-- AST.stg : additional base templates used by tree code
|
101
|
+
|-- ASTParser.stg : more tree template code for AST-building parsers
|
102
|
+
|-- ASTTreeParser.stg : more tree template code for tree parsers
|
103
|
+
|-- Dbg.stg : debug-mode extensions to the core templates
|
104
|
+
`-- ASTDbg.stg : debug-mode extensions to the AST templates
|
105
|
+
|
106
|
+
* These are the String Template group files that ANTLR uses to
|
107
|
+
generate ruby code
|
108
|
+
|
109
|
+
* If you are unfamilliar with the String Template language,
|
110
|
+
refer to http://www.stringtemplate.org for more information
|
111
|
+
and documentation
|
112
|
+
|
113
|
+
* Modifications to these files will not be reflected in ANTLR
|
114
|
+
output until the ANTLR jar is updated with the changes. The
|
115
|
+
jar can be updated via:
|
116
|
+
|
117
|
+
rake antlr
|
118
|
+
|
119
|
+
=== Testing
|
120
|
+
|
121
|
+
test
|
122
|
+
|-- unit : plain old unit tests for runtime library components
|
123
|
+
|-- functional : tests of the functionality of ANTLR generated code
|
124
|
+
`-- performance : specs that are used for benchmarking/profiling
|
125
|
+
|
126
|
+
* most unit tests and functional tests use a combined test/unit
|
127
|
+
and rspec environment; the tests are written as Test::Unit::TestCase
|
128
|
+
subclasses, but often use rspec-style example blocks and assertions
|
129
|
+
|
130
|
+
* the tests can generally be run directly, but scripts/antlr-tests
|
131
|
+
is a command-line tool that can be used to run tests in an
|
132
|
+
`enhanced' fashion
|
133
|
+
|
134
|
+
==== Functional Tests
|
135
|
+
|
136
|
+
* functional tests are grouped into a number of categories, each of
|
137
|
+
which is represented as a subdirectory of test/functional. For
|
138
|
+
example tests concerning pure lexer functionality are all placed
|
139
|
+
in the directory test/functional/lexer
|
140
|
+
|
141
|
+
* tests are further organized by specific subject, with one or more tests
|
142
|
+
focused on some single aspect grouped together in a single file under the category
|
143
|
+
directory. For example, test/functional/lexer/filter-mode.rb
|
144
|
+
contains several tests concerning filter mode lexer grammars.
|
145
|
+
|
146
|
+
* the ANTLR grammars used to generate code are written 'inline' with all of
|
147
|
+
the tests. A number of utility classes contained in lib/antlr3/test
|
148
|
+
are used to compile the grammars into code, dynamically load the
|
149
|
+
code ANTLR generates, and test the output functionality.
|
150
|
+
|
151
|
+
* running the ANTLR tool to generate code is fairly slow (that is, when you're
|
152
|
+
doing it 100 times in a row). When you first run all of the functional tests,
|
153
|
+
don't be surprised if it takes a good 10-15 minutes to do. However, grammars
|
154
|
+
are only recompiled when their source has changed or updates have been
|
155
|
+
made to the ANTLR jar, so subsequent runs are usually pretty quick.
|
156
|
+
|
157
|
+
== Programs / Utility Scripts
|
158
|
+
|
159
|
+
=== antlr4ruby
|
160
|
+
|
161
|
+
* a very simple script that wraps for the ANTLR3 tool
|
162
|
+
|
163
|
+
* currently, it simply finds the absolute path of
|
164
|
+
java/antlr-full-3.x.x.jar in the project directory
|
165
|
+
and then essentially runs:
|
166
|
+
|
167
|
+
java -jar path/to/antlr-full-3.x.x.jar ARGV
|
168
|
+
|
169
|
+
* so to use ANTLR to generate ruby output using this project's
|
170
|
+
runtime library and code templates, run:
|
171
|
+
|
172
|
+
antlr4ruby [antlr options] path/to/Grammar.g
|
173
|
+
|
174
|
+
* run antlr4ruby without arguments to get a summary of
|
175
|
+
ANTLR's options and arguments, or read up on the
|
176
|
+
ANTLR tool's documentation at http://www.antlr.org
|
177
|
+
|
178
|
+
=== antlr-tests
|
179
|
+
|
180
|
+
* used to run various types of tests in the project, summarize
|
181
|
+
the results in tabular format, and dump enhanced information
|
182
|
+
about errors/test failures that arose during the test run
|
183
|
+
|
184
|
+
* uses the third party gem `main' to create a hierarchical
|
185
|
+
command structure, instead of plain old optparse
|
186
|
+
|
187
|
+
* examples:
|
188
|
+
|
189
|
+
# run functional tests
|
190
|
+
antlr-tests functional
|
191
|
+
|
192
|
+
# run unit, functional, benchmarking, and profiling tests:
|
193
|
+
antlr-tests run
|
194
|
+
|
195
|
+
# trash all files generated by the tests
|
196
|
+
antlr-tests clean
|
197
|
+
|
198
|
+
# run all parser-oriented tests
|
199
|
+
antlr-tests functional parser
|
200
|
+
|
201
|
+
=== grammar-tools
|
202
|
+
|
203
|
+
* a growing number of utilities for viewing properties of ANTLR
|
204
|
+
grammar files, refactoring/porting ANTLR grammars for
|
205
|
+
ruby output, and formatting/highlighting grammar files
|
206
|
+
|
207
|
+
* a few notable commands:
|
208
|
+
|
209
|
+
# produce a fairly nice HTML-formatted grammar display
|
210
|
+
grammar-tools format html path/to/Grammar.g > grammar.html
|
211
|
+
|
212
|
+
# list all rule names defined within a grammar
|
213
|
+
grammar-tools show rules path/to/Grammar.g
|
214
|
+
|
215
|
+
# set up a grammar targetted for a language other than
|
216
|
+
# ruby to be retargetted for ruby output
|
217
|
+
grammar-tools modify stylize path/to/Grammar.g
|
218
|
+
|
219
|
+
# print out a grammar without any language-specific elements
|
220
|
+
grammar-tools modify strip path/to/Grammar.g
|
221
|
+
|
222
|
+
# print out help with a list of commands
|
223
|
+
grammar-tools help
|
224
|
+
|
225
|
+
=== st-group
|
226
|
+
|
227
|
+
* utility commands for working with StringTemplate template group files
|
228
|
+
|
229
|
+
* uses the same command style as grammar-tools
|
230
|
+
|
231
|
+
* current notable commands:
|
232
|
+
|
233
|
+
# break up a large STG file into a directory containing a single .st
|
234
|
+
# file for each template defined in a group
|
235
|
+
st-group unzip path/to/Group.stg
|
236
|
+
|
237
|
+
# reconstitute a directory created by unzipping a group file
|
238
|
+
# back into a single .stg file
|
239
|
+
st-group zip path/to/Group/
|
240
|
+
|
241
|
+
# print out names and other definition info contained in a .stg file
|
242
|
+
st-group info path/to/Group.stg
|
243
|
+
|
244
|
+
# extract and display a single template definition
|
245
|
+
st-group show path/to/Group.stg templateName
|
246
|
+
|
data/Manifest.txt
CHANGED
@@ -1,169 +1,170 @@
|
|
1
1
|
bin/antlr4ruby
|
2
|
-
lib/antlr3.rb
|
3
|
-
lib/antlr3/constants.rb
|
4
|
-
lib/antlr3/test/core-extensions.rb
|
5
|
-
lib/antlr3/test/grammar.rb
|
6
|
-
lib/antlr3/test/functional.rb
|
7
|
-
lib/antlr3/test/call-stack.rb
|
8
|
-
lib/antlr3/debug/socket.rb
|
9
|
-
lib/antlr3/debug/event-hub.rb
|
10
|
-
lib/antlr3/debug/trace-event-listener.rb
|
11
|
-
lib/antlr3/debug/rule-tracer.rb
|
12
|
-
lib/antlr3/debug/record-event-listener.rb
|
13
|
-
lib/antlr3/template/group-file-lexer.rb
|
14
|
-
lib/antlr3/template/group-file.rb
|
15
|
-
lib/antlr3/template/parameter.rb
|
16
|
-
lib/antlr3/template/group-file-parser.rb
|
2
|
+
lib/antlr3/tree.rb
|
17
3
|
lib/antlr3/template.rb
|
4
|
+
lib/antlr3/dfa.rb
|
18
5
|
lib/antlr3/tree/wizard.rb
|
19
|
-
lib/antlr3/tree/debug.rb
|
20
6
|
lib/antlr3/tree/visitor.rb
|
21
|
-
lib/antlr3/
|
22
|
-
lib/antlr3/
|
23
|
-
lib/antlr3/debug.rb
|
24
|
-
lib/antlr3/main.rb
|
25
|
-
lib/antlr3/util.rb
|
26
|
-
lib/antlr3/token.rb
|
27
|
-
lib/antlr3/dfa.rb
|
28
|
-
lib/antlr3/streams.rb
|
29
|
-
lib/antlr3/error.rb
|
7
|
+
lib/antlr3/tree/debug.rb
|
8
|
+
lib/antlr3/constants.rb
|
30
9
|
lib/antlr3/version.rb
|
31
|
-
lib/antlr3/
|
10
|
+
lib/antlr3/streams.rb
|
32
11
|
lib/antlr3/dot.rb
|
33
12
|
lib/antlr3/profile.rb
|
34
|
-
lib/antlr3/
|
35
|
-
lib/antlr3/
|
13
|
+
lib/antlr3/error.rb
|
14
|
+
lib/antlr3/debug/rule-tracer.rb
|
15
|
+
lib/antlr3/debug/record-event-listener.rb
|
16
|
+
lib/antlr3/debug/trace-event-listener.rb
|
17
|
+
lib/antlr3/debug/event-hub.rb
|
18
|
+
lib/antlr3/debug/socket.rb
|
19
|
+
lib/antlr3/main.rb
|
20
|
+
lib/antlr3/debug.rb
|
21
|
+
lib/antlr3/task.rb
|
22
|
+
lib/antlr3/template/parameter.rb
|
23
|
+
lib/antlr3/template/group-file-parser.rb
|
24
|
+
lib/antlr3/template/group-file-lexer.rb
|
25
|
+
lib/antlr3/template/group-file.rb
|
36
26
|
lib/antlr3/streams/rewrite.rb
|
37
27
|
lib/antlr3/streams/unicode.rb
|
38
|
-
lib/antlr3/
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
28
|
+
lib/antlr3/streams/interactive.rb
|
29
|
+
lib/antlr3/token.rb
|
30
|
+
lib/antlr3/recognizers.rb
|
31
|
+
lib/antlr3/modes/ast-builder.rb
|
32
|
+
lib/antlr3/modes/filter.rb
|
33
|
+
lib/antlr3/test/call-stack.rb
|
34
|
+
lib/antlr3/test/grammar.rb
|
35
|
+
lib/antlr3/test/functional.rb
|
36
|
+
lib/antlr3/test/core-extensions.rb
|
37
|
+
lib/antlr3/util.rb
|
38
|
+
lib/antlr3.rb
|
39
|
+
test/unit/test-scope.rb
|
46
40
|
test/unit/sample-input/teststreams.input2
|
47
41
|
test/unit/sample-input/file-stream-1
|
48
42
|
test/unit/sample-input/template-group
|
43
|
+
test/unit/test-template.rb
|
44
|
+
test/unit/test-tree-wizard.rb
|
45
|
+
test/unit/test-unicode-stream.rb
|
46
|
+
test/unit/test-scheme.rb
|
49
47
|
test/unit/test-trees.rb
|
48
|
+
test/unit/test-streams.rb
|
49
|
+
test/unit/test-dfa.rb
|
50
50
|
test/unit/test-recognizers.rb
|
51
|
-
test/unit/test-
|
51
|
+
test/unit/test-exceptions.rb
|
52
|
+
test/functional/ast-output/auto-ast.rb
|
53
|
+
test/functional/ast-output/hetero-nodes.rb
|
54
|
+
test/functional/ast-output/construction.rb
|
55
|
+
test/functional/ast-output/rewrites.rb
|
56
|
+
test/functional/ast-output/tree-rewrite.rb
|
57
|
+
test/functional/token-rewrite/via-parser.rb
|
58
|
+
test/functional/token-rewrite/basic.rb
|
52
59
|
test/functional/main/main-scripts.rb
|
53
|
-
test/functional/template-output/template-output.rb
|
54
60
|
test/functional/tree-parser/basic.rb
|
55
|
-
test/functional/
|
56
|
-
test/functional/
|
57
|
-
test/functional/lexer/syn-pred.rb
|
58
|
-
test/functional/lexer/basic.rb
|
59
|
-
test/functional/lexer/nuances.rb
|
60
|
-
test/functional/lexer/xml.rb
|
61
|
-
test/functional/delegation/import.rb
|
62
|
-
test/functional/parser/scopes.rb
|
61
|
+
test/functional/parser/nuances.rb
|
62
|
+
test/functional/parser/backtracking.rb
|
63
63
|
test/functional/parser/properties.rb
|
64
|
-
test/functional/parser/
|
64
|
+
test/functional/parser/scopes.rb
|
65
|
+
test/functional/parser/rule-methods.rb
|
65
66
|
test/functional/parser/predicates.rb
|
66
|
-
test/functional/parser/ll-star.rb
|
67
|
-
test/functional/parser/backtracking.rb
|
68
67
|
test/functional/parser/calc.rb
|
69
|
-
test/functional/parser/
|
68
|
+
test/functional/parser/basic.rb
|
69
|
+
test/functional/parser/ll-star.rb
|
70
70
|
test/functional/parser/actions.rb
|
71
|
-
test/functional/
|
72
|
-
test/functional/
|
73
|
-
test/functional/
|
71
|
+
test/functional/lexer/filter-mode.rb
|
72
|
+
test/functional/lexer/nuances.rb
|
73
|
+
test/functional/lexer/properties.rb
|
74
|
+
test/functional/lexer/basic.rb
|
75
|
+
test/functional/lexer/syn-pred.rb
|
76
|
+
test/functional/lexer/xml.rb
|
74
77
|
test/functional/debugging/rule-tracing.rb
|
75
|
-
test/functional/
|
76
|
-
test/functional/
|
77
|
-
test/functional/
|
78
|
-
test/functional/
|
79
|
-
test/functional/ast-output/rewrites.rb
|
80
|
-
test/functional/ast-output/hetero-nodes.rb
|
81
|
-
test/functional/ast-output/auto-ast.rb
|
82
|
-
templates/Ruby.stg
|
78
|
+
test/functional/debugging/profile-mode.rb
|
79
|
+
test/functional/debugging/debug-mode.rb
|
80
|
+
test/functional/delegation/import.rb
|
81
|
+
test/functional/template-output/template-output.rb
|
83
82
|
templates/ASTDbg.stg
|
84
|
-
templates/AST.stg
|
85
|
-
templates/ST.stg
|
86
|
-
templates/Dbg.stg
|
87
83
|
templates/Support.stg
|
88
|
-
templates/ASTTreeParser.stg
|
89
84
|
templates/ASTParser.stg
|
85
|
+
templates/AST.stg
|
86
|
+
templates/ASTTreeParser.stg
|
87
|
+
templates/Dbg.stg
|
88
|
+
templates/ST.stg
|
89
|
+
templates/Ruby.stg
|
90
90
|
samples/CPP.g
|
91
91
|
samples/ANTLRv3Grammar.g
|
92
92
|
samples/JavaScript.g
|
93
|
-
samples/standard/fuzzy/FuzzyJava.g
|
94
|
-
samples/standard/fuzzy/output
|
95
|
-
samples/standard/fuzzy/input
|
96
|
-
samples/standard/fuzzy/fuzzy.rb
|
97
|
-
samples/standard/fuzzy/fuzzy.py
|
98
|
-
samples/standard/scopes/scopes.rb
|
99
|
-
samples/standard/scopes/output
|
100
|
-
samples/standard/scopes/input
|
101
|
-
samples/standard/scopes/SymbolTable.g
|
102
|
-
samples/standard/LL-star/LLStar.g
|
103
|
-
samples/standard/LL-star/ll-star.rb
|
104
|
-
samples/standard/LL-star/output
|
105
|
-
samples/standard/LL-star/input
|
106
|
-
samples/standard/dynamic-scope/DynamicScopes.g
|
107
|
-
samples/standard/dynamic-scope/dynamic-scopes.rb
|
108
|
-
samples/standard/dynamic-scope/output
|
109
|
-
samples/standard/dynamic-scope/input
|
110
|
-
samples/standard/java/java.rb
|
111
|
-
samples/standard/java/Java.g
|
112
|
-
samples/standard/java/output
|
113
|
-
samples/standard/java/input
|
114
|
-
samples/standard/C/C.g
|
115
|
-
samples/standard/C/C__testrig.st
|
116
|
-
samples/standard/C/c.rb
|
117
|
-
samples/standard/C/C.tokens
|
118
|
-
samples/standard/C/output
|
119
|
-
samples/standard/C/input
|
120
|
-
samples/standard/python/PythonTokenSource.rb
|
121
|
-
samples/standard/python/Python.g
|
122
|
-
samples/standard/python/output
|
123
|
-
samples/standard/python/input
|
124
|
-
samples/standard/python/python.rb
|
125
|
-
samples/standard/treeparser/Lang.g
|
126
|
-
samples/standard/treeparser/LangDumpDecl.g
|
127
93
|
samples/standard/treeparser/treeparser.rb
|
128
|
-
samples/standard/treeparser/
|
94
|
+
samples/standard/treeparser/Lang.g
|
129
95
|
samples/standard/treeparser/input
|
130
|
-
samples/standard/
|
96
|
+
samples/standard/treeparser/output
|
97
|
+
samples/standard/treeparser/LangDumpDecl.g
|
131
98
|
samples/standard/cminus/python.group
|
132
|
-
samples/standard/cminus/output
|
133
|
-
samples/standard/cminus/input
|
134
99
|
samples/standard/cminus/CMinus.g
|
100
|
+
samples/standard/cminus/input
|
101
|
+
samples/standard/cminus/output
|
135
102
|
samples/standard/cminus/bytecode.group
|
103
|
+
samples/standard/cminus/java.group
|
136
104
|
samples/standard/cminus/cminus.rb
|
137
105
|
samples/standard/calc/Calculator.rb
|
138
106
|
samples/standard/calc/Calculator.py
|
139
107
|
samples/standard/calc/Calculator.g
|
140
|
-
samples/standard/
|
141
|
-
samples/standard/
|
142
|
-
samples/standard/
|
143
|
-
samples/standard/
|
144
|
-
samples/standard/xml/xml.rb
|
108
|
+
samples/standard/dynamic-scope/input
|
109
|
+
samples/standard/dynamic-scope/dynamic-scopes.rb
|
110
|
+
samples/standard/dynamic-scope/output
|
111
|
+
samples/standard/dynamic-scope/DynamicScopes.g
|
145
112
|
samples/standard/rakefile
|
146
|
-
samples/standard/
|
147
|
-
samples/standard/
|
148
|
-
samples/standard/
|
113
|
+
samples/standard/java/Java.g
|
114
|
+
samples/standard/java/input
|
115
|
+
samples/standard/java/output
|
116
|
+
samples/standard/java/java.rb
|
117
|
+
samples/standard/tweak/tweak.rb
|
118
|
+
samples/standard/tweak/input
|
119
|
+
samples/standard/tweak/output
|
120
|
+
samples/standard/tweak/Tweak.g
|
149
121
|
samples/standard/simplecTreeParser/input
|
150
122
|
samples/standard/simplecTreeParser/SimpleC.g
|
123
|
+
samples/standard/simplecTreeParser/output
|
124
|
+
samples/standard/simplecTreeParser/SimpleCWalker.g
|
125
|
+
samples/standard/simplecTreeParser/simplec.rb
|
126
|
+
samples/standard/island-grammar/island.rb
|
127
|
+
samples/standard/island-grammar/input
|
151
128
|
samples/standard/island-grammar/Simple.g
|
152
129
|
samples/standard/island-grammar/output
|
153
|
-
samples/standard/island-grammar/input
|
154
130
|
samples/standard/island-grammar/Javadoc.g
|
155
|
-
samples/standard/
|
156
|
-
samples/standard/
|
157
|
-
samples/standard/
|
158
|
-
samples/standard/
|
159
|
-
samples/standard/
|
160
|
-
samples/standard/
|
131
|
+
samples/standard/C/C.g
|
132
|
+
samples/standard/C/C.tokens
|
133
|
+
samples/standard/C/input
|
134
|
+
samples/standard/C/c.rb
|
135
|
+
samples/standard/C/output
|
136
|
+
samples/standard/C/C__testrig.st
|
137
|
+
samples/standard/fuzzy/input
|
138
|
+
samples/standard/fuzzy/output
|
139
|
+
samples/standard/fuzzy/fuzzy.py
|
140
|
+
samples/standard/fuzzy/fuzzy.rb
|
141
|
+
samples/standard/fuzzy/FuzzyJava.g
|
142
|
+
samples/standard/xml/input
|
143
|
+
samples/standard/xml/output
|
144
|
+
samples/standard/xml/README
|
145
|
+
samples/standard/xml/xml.rb
|
146
|
+
samples/standard/xml/XML.g
|
147
|
+
samples/standard/LL-star/input
|
148
|
+
samples/standard/LL-star/output
|
149
|
+
samples/standard/LL-star/LLStar.g
|
150
|
+
samples/standard/LL-star/ll-star.rb
|
161
151
|
samples/standard/hoisted-predicates/hoisted-predicates.rb
|
162
|
-
samples/standard/hoisted-predicates/output
|
163
152
|
samples/standard/hoisted-predicates/input
|
153
|
+
samples/standard/hoisted-predicates/output
|
154
|
+
samples/standard/hoisted-predicates/HoistedPredicates.g
|
155
|
+
samples/standard/scopes/SymbolTable.g
|
156
|
+
samples/standard/scopes/input
|
157
|
+
samples/standard/scopes/scopes.rb
|
158
|
+
samples/standard/scopes/output
|
159
|
+
samples/standard/python/Python.g
|
160
|
+
samples/standard/python/input
|
161
|
+
samples/standard/python/PythonTokenSource.rb
|
162
|
+
samples/standard/python/output
|
163
|
+
samples/standard/python/python.rb
|
164
164
|
ANTLR-LICENSE.txt
|
165
165
|
History.txt
|
166
|
-
README.
|
166
|
+
DEVELOPER-README.rdoc
|
167
|
+
README.rdoc
|
167
168
|
java/antlr-full-3.2.1.jar
|
168
169
|
java/RubyTarget.java
|
169
170
|
rakefile
|
data/{README.txt → README.rdoc}
RENAMED
@@ -1,7 +1,9 @@
|
|
1
|
-
ANTLR 3 for Ruby
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
= ANTLR 3 for Ruby
|
2
|
+
|
3
|
+
==== by Kyle Yetter (kcy5b@yahoo.com)
|
4
|
+
|
5
|
+
* http://antlr.ohboyohboyohboy.org
|
6
|
+
* http://github.com/ohboyohboyohboy/antlr3
|
5
7
|
|
6
8
|
== DESCRIPTION:
|
7
9
|
|
@@ -59,37 +61,36 @@ ANTLR provides for other language targets, such as Java and Python. It contains:
|
|
59
61
|
|
60
62
|
1. Write an ANTLR grammar specification for a language
|
61
63
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
64
|
+
grammar SomeLanguage;
|
65
|
+
|
66
|
+
options {
|
67
|
+
language = Ruby; // <- this option must be set to Ruby
|
68
|
+
output = AST;
|
69
|
+
}
|
70
|
+
|
71
|
+
top: expr ( ',' expr )*
|
72
|
+
;
|
73
|
+
|
74
|
+
and so on...
|
73
75
|
|
74
76
|
|
75
77
|
2. Run the ANTLR tool with the antlr4ruby command to generate output:
|
76
78
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
79
|
+
antlr4ruby SomeLanguage.g
|
80
|
+
# creates:
|
81
|
+
# SomeLanguageParser.rb
|
82
|
+
# SomeLanguageLexer.rb
|
83
|
+
# SomeLanguage.g
|
82
84
|
|
83
85
|
3. Try out the results directly, if you like:
|
84
86
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
87
|
+
# see how the lexer tokenizes some input
|
88
|
+
ruby SomeLanguageLexer.rb < path/to/source-code.xyz
|
89
|
+
|
90
|
+
# check whether the parser successfully matches some input
|
91
|
+
ruby SomeLanguageParser.rb --rule=top < path/to/source-code.xyz
|
90
92
|
|
91
|
-
|
92
|
-
about loading the recognizers and using their class definitions
|
93
|
+
Read up on the package documentation for more specific details about loading the recognizers and using their class definitions
|
93
94
|
|
94
95
|
== ISSUES
|
95
96
|
|
data/java/antlr-full-3.2.1.jar
CHANGED
Binary file
|
data/lib/antlr3/task.rb
CHANGED
@@ -111,6 +111,10 @@ class CompileTask < Rake::TaskLib
|
|
111
111
|
|
112
112
|
#class CompileTask::GrammarSet
|
113
113
|
class GrammarSet
|
114
|
+
if defined?( Rake::DSL )
|
115
|
+
include Rake::DSL
|
116
|
+
end
|
117
|
+
|
114
118
|
attr_accessor :antlr_jar, :debug,
|
115
119
|
:trace, :profile, :compile_options,
|
116
120
|
:java_options
|
@@ -227,6 +231,10 @@ class GrammarSet
|
|
227
231
|
end
|
228
232
|
|
229
233
|
class GrammarFile
|
234
|
+
if defined?( Rake::DSL )
|
235
|
+
include Rake::DSL
|
236
|
+
end
|
237
|
+
|
230
238
|
LANGUAGES = {
|
231
239
|
"ActionScript" => [ ".as" ],
|
232
240
|
"CSharp2" => [ ".cs" ],
|
data/lib/antlr3/template.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
|
-
|
2
|
+
# encoding: utf-8
|
3
|
+
#
|
4
|
+
# author: Kyle Yetter
|
5
|
+
#
|
3
6
|
|
4
7
|
require 'erb'
|
5
8
|
require 'antlr3'
|
@@ -209,9 +212,21 @@ private
|
|
209
212
|
end
|
210
213
|
|
211
214
|
class Context
|
212
|
-
VARIABLE_FORM = /^(@)?[a-z_
|
213
|
-
SETTER_FORM
|
214
|
-
ATTR_FORM
|
215
|
+
VARIABLE_FORM = /^(@)?[a-z_\\x80-\\xff][\w\\x80-\\xff]*$/
|
216
|
+
SETTER_FORM = /^([a-z_\\x80-\\xff][\w\\x80-\\xff]*)=$/
|
217
|
+
ATTR_FORM = /^[a-z_\\x80-\\xff][\w\\x80-\\xff]*$/
|
218
|
+
#if RUBY_VERSION =~ /^1\.8(?=\.|$)/
|
219
|
+
# class_eval( <<-'END' )
|
220
|
+
# VARIABLE_FORM = /^(@)?[a-z_\\x80-\\xff][\w\\x80-\\xff]*$/
|
221
|
+
# SETTER_FORM = /^([a-z_\\x80-\\xff][\w\\x80-\\xff]*)=$/
|
222
|
+
# ATTR_FORM = /^[a-z_\\x80-\\xff][\w\\x80-\\xff]*$/
|
223
|
+
# END
|
224
|
+
#else
|
225
|
+
# VARIABLE_FORM = Regexp.new( "/^(@)?[a-z_\\x80-\\xff][\w\\x80-\\xff]*$/", nil, 'n' )
|
226
|
+
# SETTER_FORM = Regexp.new( "/^([a-z_\\x80-\\xff][\w\\x80-\\xff]*)=$/", nil, 'n' )
|
227
|
+
# ATTR_FORM = Regexp.new( "/^[a-z_\\x80-\\xff][\w\\x80-\\xff]*$/", nil, 'n' )
|
228
|
+
#end
|
229
|
+
|
215
230
|
|
216
231
|
class << self
|
217
232
|
attr_accessor :group, :name, :parameters
|
data/lib/antlr3/version.rb
CHANGED
data/rakefile
CHANGED
@@ -15,46 +15,46 @@ Hoe.spec "antlr3" do
|
|
15
15
|
)
|
16
16
|
|
17
17
|
self.test_globs = [
|
18
|
-
"test/unit/test-
|
18
|
+
"test/unit/test-scope.rb",
|
19
19
|
"test/unit/test-template.rb",
|
20
|
+
"test/unit/test-tree-wizard.rb",
|
20
21
|
"test/unit/test-unicode-stream.rb",
|
21
|
-
"test/unit/test-dfa.rb",
|
22
|
-
"test/unit/test-exceptions.rb",
|
23
22
|
"test/unit/test-scheme.rb",
|
24
|
-
"test/unit/test-tree-wizard.rb",
|
25
23
|
"test/unit/test-trees.rb",
|
24
|
+
"test/unit/test-streams.rb",
|
25
|
+
"test/unit/test-dfa.rb",
|
26
26
|
"test/unit/test-recognizers.rb",
|
27
|
-
"test/unit/test-
|
27
|
+
"test/unit/test-exceptions.rb",
|
28
|
+
"test/functional/ast-output/auto-ast.rb",
|
29
|
+
"test/functional/ast-output/hetero-nodes.rb",
|
30
|
+
"test/functional/ast-output/construction.rb",
|
31
|
+
"test/functional/ast-output/rewrites.rb",
|
32
|
+
"test/functional/ast-output/tree-rewrite.rb",
|
33
|
+
"test/functional/token-rewrite/via-parser.rb",
|
34
|
+
"test/functional/token-rewrite/basic.rb",
|
28
35
|
"test/functional/main/main-scripts.rb",
|
29
|
-
"test/functional/template-output/template-output.rb",
|
30
36
|
"test/functional/tree-parser/basic.rb",
|
31
|
-
"test/functional/
|
32
|
-
"test/functional/
|
33
|
-
"test/functional/lexer/syn-pred.rb",
|
34
|
-
"test/functional/lexer/basic.rb",
|
35
|
-
"test/functional/lexer/nuances.rb",
|
36
|
-
"test/functional/lexer/xml.rb",
|
37
|
-
"test/functional/delegation/import.rb",
|
38
|
-
"test/functional/parser/scopes.rb",
|
37
|
+
"test/functional/parser/nuances.rb",
|
38
|
+
"test/functional/parser/backtracking.rb",
|
39
39
|
"test/functional/parser/properties.rb",
|
40
|
-
"test/functional/parser/
|
40
|
+
"test/functional/parser/scopes.rb",
|
41
|
+
"test/functional/parser/rule-methods.rb",
|
41
42
|
"test/functional/parser/predicates.rb",
|
42
|
-
"test/functional/parser/ll-star.rb",
|
43
|
-
"test/functional/parser/backtracking.rb",
|
44
43
|
"test/functional/parser/calc.rb",
|
45
|
-
"test/functional/parser/
|
44
|
+
"test/functional/parser/basic.rb",
|
45
|
+
"test/functional/parser/ll-star.rb",
|
46
46
|
"test/functional/parser/actions.rb",
|
47
|
-
"test/functional/
|
48
|
-
"test/functional/
|
49
|
-
"test/functional/
|
47
|
+
"test/functional/lexer/filter-mode.rb",
|
48
|
+
"test/functional/lexer/nuances.rb",
|
49
|
+
"test/functional/lexer/properties.rb",
|
50
|
+
"test/functional/lexer/basic.rb",
|
51
|
+
"test/functional/lexer/syn-pred.rb",
|
52
|
+
"test/functional/lexer/xml.rb",
|
50
53
|
"test/functional/debugging/rule-tracing.rb",
|
51
|
-
"test/functional/
|
52
|
-
"test/functional/
|
53
|
-
"test/functional/
|
54
|
-
"test/functional/
|
55
|
-
"test/functional/ast-output/rewrites.rb",
|
56
|
-
"test/functional/ast-output/hetero-nodes.rb",
|
57
|
-
"test/functional/ast-output/auto-ast.rb"
|
54
|
+
"test/functional/debugging/profile-mode.rb",
|
55
|
+
"test/functional/debugging/debug-mode.rb",
|
56
|
+
"test/functional/delegation/import.rb",
|
57
|
+
"test/functional/template-output/template-output.rb"
|
58
58
|
]
|
59
59
|
|
60
60
|
end
|
data/templates/Ruby.stg
CHANGED
@@ -60,7 +60,7 @@ rescue LoadError
|
|
60
60
|
|
61
61
|
# 3: try to activate the antlr3 gem
|
62
62
|
begin
|
63
|
-
|
63
|
+
defined?( gem ) and gem( "antlr3", '~> <runtimeLibraryVersion()>' )
|
64
64
|
rescue Gem::LoadError
|
65
65
|
antlr_load_failed.call
|
66
66
|
end
|
@@ -1459,4 +1459,4 @@ placeAction(scope, name) ::= <<
|
|
1459
1459
|
<endif>
|
1460
1460
|
>>
|
1461
1461
|
|
1462
|
-
runtimeLibraryVersion() ::= "1.8.
|
1462
|
+
runtimeLibraryVersion() ::= "1.8.13"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: antlr3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 45
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 1.8.
|
9
|
+
- 13
|
10
|
+
version: 1.8.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kyle Yetter
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2013-07-17 00:00:00 Z
|
20
19
|
dependencies: []
|
21
20
|
|
22
21
|
description: |-
|
@@ -62,176 +61,176 @@ extra_rdoc_files: []
|
|
62
61
|
|
63
62
|
files:
|
64
63
|
- bin/antlr4ruby
|
65
|
-
- lib/antlr3.rb
|
66
|
-
- lib/antlr3/constants.rb
|
67
|
-
- lib/antlr3/test/core-extensions.rb
|
68
|
-
- lib/antlr3/test/grammar.rb
|
69
|
-
- lib/antlr3/test/functional.rb
|
70
|
-
- lib/antlr3/test/call-stack.rb
|
71
|
-
- lib/antlr3/debug/socket.rb
|
72
|
-
- lib/antlr3/debug/event-hub.rb
|
73
|
-
- lib/antlr3/debug/trace-event-listener.rb
|
74
|
-
- lib/antlr3/debug/rule-tracer.rb
|
75
|
-
- lib/antlr3/debug/record-event-listener.rb
|
76
|
-
- lib/antlr3/template/group-file-lexer.rb
|
77
|
-
- lib/antlr3/template/group-file.rb
|
78
|
-
- lib/antlr3/template/parameter.rb
|
79
|
-
- lib/antlr3/template/group-file-parser.rb
|
64
|
+
- lib/antlr3/tree.rb
|
80
65
|
- lib/antlr3/template.rb
|
66
|
+
- lib/antlr3/dfa.rb
|
81
67
|
- lib/antlr3/tree/wizard.rb
|
82
|
-
- lib/antlr3/tree/debug.rb
|
83
68
|
- lib/antlr3/tree/visitor.rb
|
84
|
-
- lib/antlr3/
|
85
|
-
- lib/antlr3/
|
86
|
-
- lib/antlr3/debug.rb
|
87
|
-
- lib/antlr3/main.rb
|
88
|
-
- lib/antlr3/util.rb
|
89
|
-
- lib/antlr3/token.rb
|
90
|
-
- lib/antlr3/dfa.rb
|
91
|
-
- lib/antlr3/streams.rb
|
92
|
-
- lib/antlr3/error.rb
|
69
|
+
- lib/antlr3/tree/debug.rb
|
70
|
+
- lib/antlr3/constants.rb
|
93
71
|
- lib/antlr3/version.rb
|
94
|
-
- lib/antlr3/
|
72
|
+
- lib/antlr3/streams.rb
|
95
73
|
- lib/antlr3/dot.rb
|
96
74
|
- lib/antlr3/profile.rb
|
97
|
-
- lib/antlr3/
|
98
|
-
- lib/antlr3/
|
75
|
+
- lib/antlr3/error.rb
|
76
|
+
- lib/antlr3/debug/rule-tracer.rb
|
77
|
+
- lib/antlr3/debug/record-event-listener.rb
|
78
|
+
- lib/antlr3/debug/trace-event-listener.rb
|
79
|
+
- lib/antlr3/debug/event-hub.rb
|
80
|
+
- lib/antlr3/debug/socket.rb
|
81
|
+
- lib/antlr3/main.rb
|
82
|
+
- lib/antlr3/debug.rb
|
83
|
+
- lib/antlr3/task.rb
|
84
|
+
- lib/antlr3/template/parameter.rb
|
85
|
+
- lib/antlr3/template/group-file-parser.rb
|
86
|
+
- lib/antlr3/template/group-file-lexer.rb
|
87
|
+
- lib/antlr3/template/group-file.rb
|
99
88
|
- lib/antlr3/streams/rewrite.rb
|
100
89
|
- lib/antlr3/streams/unicode.rb
|
101
|
-
- lib/antlr3/
|
102
|
-
-
|
103
|
-
-
|
104
|
-
-
|
105
|
-
-
|
106
|
-
-
|
107
|
-
-
|
108
|
-
-
|
90
|
+
- lib/antlr3/streams/interactive.rb
|
91
|
+
- lib/antlr3/token.rb
|
92
|
+
- lib/antlr3/recognizers.rb
|
93
|
+
- lib/antlr3/modes/ast-builder.rb
|
94
|
+
- lib/antlr3/modes/filter.rb
|
95
|
+
- lib/antlr3/test/call-stack.rb
|
96
|
+
- lib/antlr3/test/grammar.rb
|
97
|
+
- lib/antlr3/test/functional.rb
|
98
|
+
- lib/antlr3/test/core-extensions.rb
|
99
|
+
- lib/antlr3/util.rb
|
100
|
+
- lib/antlr3.rb
|
101
|
+
- test/unit/test-scope.rb
|
109
102
|
- test/unit/sample-input/teststreams.input2
|
110
103
|
- test/unit/sample-input/file-stream-1
|
111
104
|
- test/unit/sample-input/template-group
|
105
|
+
- test/unit/test-template.rb
|
106
|
+
- test/unit/test-tree-wizard.rb
|
107
|
+
- test/unit/test-unicode-stream.rb
|
108
|
+
- test/unit/test-scheme.rb
|
112
109
|
- test/unit/test-trees.rb
|
110
|
+
- test/unit/test-streams.rb
|
111
|
+
- test/unit/test-dfa.rb
|
113
112
|
- test/unit/test-recognizers.rb
|
114
|
-
- test/unit/test-
|
113
|
+
- test/unit/test-exceptions.rb
|
114
|
+
- test/functional/ast-output/auto-ast.rb
|
115
|
+
- test/functional/ast-output/hetero-nodes.rb
|
116
|
+
- test/functional/ast-output/construction.rb
|
117
|
+
- test/functional/ast-output/rewrites.rb
|
118
|
+
- test/functional/ast-output/tree-rewrite.rb
|
119
|
+
- test/functional/token-rewrite/via-parser.rb
|
120
|
+
- test/functional/token-rewrite/basic.rb
|
115
121
|
- test/functional/main/main-scripts.rb
|
116
|
-
- test/functional/template-output/template-output.rb
|
117
122
|
- test/functional/tree-parser/basic.rb
|
118
|
-
- test/functional/
|
119
|
-
- test/functional/
|
120
|
-
- test/functional/lexer/syn-pred.rb
|
121
|
-
- test/functional/lexer/basic.rb
|
122
|
-
- test/functional/lexer/nuances.rb
|
123
|
-
- test/functional/lexer/xml.rb
|
124
|
-
- test/functional/delegation/import.rb
|
125
|
-
- test/functional/parser/scopes.rb
|
123
|
+
- test/functional/parser/nuances.rb
|
124
|
+
- test/functional/parser/backtracking.rb
|
126
125
|
- test/functional/parser/properties.rb
|
127
|
-
- test/functional/parser/
|
126
|
+
- test/functional/parser/scopes.rb
|
127
|
+
- test/functional/parser/rule-methods.rb
|
128
128
|
- test/functional/parser/predicates.rb
|
129
|
-
- test/functional/parser/ll-star.rb
|
130
|
-
- test/functional/parser/backtracking.rb
|
131
129
|
- test/functional/parser/calc.rb
|
132
|
-
- test/functional/parser/
|
130
|
+
- test/functional/parser/basic.rb
|
131
|
+
- test/functional/parser/ll-star.rb
|
133
132
|
- test/functional/parser/actions.rb
|
134
|
-
- test/functional/
|
135
|
-
- test/functional/
|
136
|
-
- test/functional/
|
133
|
+
- test/functional/lexer/filter-mode.rb
|
134
|
+
- test/functional/lexer/nuances.rb
|
135
|
+
- test/functional/lexer/properties.rb
|
136
|
+
- test/functional/lexer/basic.rb
|
137
|
+
- test/functional/lexer/syn-pred.rb
|
138
|
+
- test/functional/lexer/xml.rb
|
137
139
|
- test/functional/debugging/rule-tracing.rb
|
138
|
-
- test/functional/
|
139
|
-
- test/functional/
|
140
|
-
- test/functional/
|
141
|
-
- test/functional/
|
142
|
-
- test/functional/ast-output/rewrites.rb
|
143
|
-
- test/functional/ast-output/hetero-nodes.rb
|
144
|
-
- test/functional/ast-output/auto-ast.rb
|
145
|
-
- templates/Ruby.stg
|
140
|
+
- test/functional/debugging/profile-mode.rb
|
141
|
+
- test/functional/debugging/debug-mode.rb
|
142
|
+
- test/functional/delegation/import.rb
|
143
|
+
- test/functional/template-output/template-output.rb
|
146
144
|
- templates/ASTDbg.stg
|
147
|
-
- templates/AST.stg
|
148
|
-
- templates/ST.stg
|
149
|
-
- templates/Dbg.stg
|
150
145
|
- templates/Support.stg
|
151
|
-
- templates/ASTTreeParser.stg
|
152
146
|
- templates/ASTParser.stg
|
147
|
+
- templates/AST.stg
|
148
|
+
- templates/ASTTreeParser.stg
|
149
|
+
- templates/Dbg.stg
|
150
|
+
- templates/ST.stg
|
151
|
+
- templates/Ruby.stg
|
153
152
|
- samples/CPP.g
|
154
153
|
- samples/ANTLRv3Grammar.g
|
155
154
|
- samples/JavaScript.g
|
156
|
-
- samples/standard/fuzzy/FuzzyJava.g
|
157
|
-
- samples/standard/fuzzy/output
|
158
|
-
- samples/standard/fuzzy/input
|
159
|
-
- samples/standard/fuzzy/fuzzy.rb
|
160
|
-
- samples/standard/fuzzy/fuzzy.py
|
161
|
-
- samples/standard/scopes/scopes.rb
|
162
|
-
- samples/standard/scopes/output
|
163
|
-
- samples/standard/scopes/input
|
164
|
-
- samples/standard/scopes/SymbolTable.g
|
165
|
-
- samples/standard/LL-star/LLStar.g
|
166
|
-
- samples/standard/LL-star/ll-star.rb
|
167
|
-
- samples/standard/LL-star/output
|
168
|
-
- samples/standard/LL-star/input
|
169
|
-
- samples/standard/dynamic-scope/DynamicScopes.g
|
170
|
-
- samples/standard/dynamic-scope/dynamic-scopes.rb
|
171
|
-
- samples/standard/dynamic-scope/output
|
172
|
-
- samples/standard/dynamic-scope/input
|
173
|
-
- samples/standard/java/java.rb
|
174
|
-
- samples/standard/java/Java.g
|
175
|
-
- samples/standard/java/output
|
176
|
-
- samples/standard/java/input
|
177
|
-
- samples/standard/C/C.g
|
178
|
-
- samples/standard/C/C__testrig.st
|
179
|
-
- samples/standard/C/c.rb
|
180
|
-
- samples/standard/C/C.tokens
|
181
|
-
- samples/standard/C/output
|
182
|
-
- samples/standard/C/input
|
183
|
-
- samples/standard/python/PythonTokenSource.rb
|
184
|
-
- samples/standard/python/Python.g
|
185
|
-
- samples/standard/python/output
|
186
|
-
- samples/standard/python/input
|
187
|
-
- samples/standard/python/python.rb
|
188
|
-
- samples/standard/treeparser/Lang.g
|
189
|
-
- samples/standard/treeparser/LangDumpDecl.g
|
190
155
|
- samples/standard/treeparser/treeparser.rb
|
191
|
-
- samples/standard/treeparser/
|
156
|
+
- samples/standard/treeparser/Lang.g
|
192
157
|
- samples/standard/treeparser/input
|
193
|
-
- samples/standard/
|
158
|
+
- samples/standard/treeparser/output
|
159
|
+
- samples/standard/treeparser/LangDumpDecl.g
|
194
160
|
- samples/standard/cminus/python.group
|
195
|
-
- samples/standard/cminus/output
|
196
|
-
- samples/standard/cminus/input
|
197
161
|
- samples/standard/cminus/CMinus.g
|
162
|
+
- samples/standard/cminus/input
|
163
|
+
- samples/standard/cminus/output
|
198
164
|
- samples/standard/cminus/bytecode.group
|
165
|
+
- samples/standard/cminus/java.group
|
199
166
|
- samples/standard/cminus/cminus.rb
|
200
167
|
- samples/standard/calc/Calculator.rb
|
201
168
|
- samples/standard/calc/Calculator.py
|
202
169
|
- samples/standard/calc/Calculator.g
|
203
|
-
- samples/standard/
|
204
|
-
- samples/standard/
|
205
|
-
- samples/standard/
|
206
|
-
- samples/standard/
|
207
|
-
- samples/standard/xml/xml.rb
|
170
|
+
- samples/standard/dynamic-scope/input
|
171
|
+
- samples/standard/dynamic-scope/dynamic-scopes.rb
|
172
|
+
- samples/standard/dynamic-scope/output
|
173
|
+
- samples/standard/dynamic-scope/DynamicScopes.g
|
208
174
|
- samples/standard/rakefile
|
209
|
-
- samples/standard/
|
210
|
-
- samples/standard/
|
211
|
-
- samples/standard/
|
175
|
+
- samples/standard/java/Java.g
|
176
|
+
- samples/standard/java/input
|
177
|
+
- samples/standard/java/output
|
178
|
+
- samples/standard/java/java.rb
|
179
|
+
- samples/standard/tweak/tweak.rb
|
180
|
+
- samples/standard/tweak/input
|
181
|
+
- samples/standard/tweak/output
|
182
|
+
- samples/standard/tweak/Tweak.g
|
212
183
|
- samples/standard/simplecTreeParser/input
|
213
184
|
- samples/standard/simplecTreeParser/SimpleC.g
|
185
|
+
- samples/standard/simplecTreeParser/output
|
186
|
+
- samples/standard/simplecTreeParser/SimpleCWalker.g
|
187
|
+
- samples/standard/simplecTreeParser/simplec.rb
|
188
|
+
- samples/standard/island-grammar/island.rb
|
189
|
+
- samples/standard/island-grammar/input
|
214
190
|
- samples/standard/island-grammar/Simple.g
|
215
191
|
- samples/standard/island-grammar/output
|
216
|
-
- samples/standard/island-grammar/input
|
217
192
|
- samples/standard/island-grammar/Javadoc.g
|
218
|
-
- samples/standard/
|
219
|
-
- samples/standard/
|
220
|
-
- samples/standard/
|
221
|
-
- samples/standard/
|
222
|
-
- samples/standard/
|
223
|
-
- samples/standard/
|
193
|
+
- samples/standard/C/C.g
|
194
|
+
- samples/standard/C/C.tokens
|
195
|
+
- samples/standard/C/input
|
196
|
+
- samples/standard/C/c.rb
|
197
|
+
- samples/standard/C/output
|
198
|
+
- samples/standard/C/C__testrig.st
|
199
|
+
- samples/standard/fuzzy/input
|
200
|
+
- samples/standard/fuzzy/output
|
201
|
+
- samples/standard/fuzzy/fuzzy.py
|
202
|
+
- samples/standard/fuzzy/fuzzy.rb
|
203
|
+
- samples/standard/fuzzy/FuzzyJava.g
|
204
|
+
- samples/standard/xml/input
|
205
|
+
- samples/standard/xml/output
|
206
|
+
- samples/standard/xml/README
|
207
|
+
- samples/standard/xml/xml.rb
|
208
|
+
- samples/standard/xml/XML.g
|
209
|
+
- samples/standard/LL-star/input
|
210
|
+
- samples/standard/LL-star/output
|
211
|
+
- samples/standard/LL-star/LLStar.g
|
212
|
+
- samples/standard/LL-star/ll-star.rb
|
224
213
|
- samples/standard/hoisted-predicates/hoisted-predicates.rb
|
225
|
-
- samples/standard/hoisted-predicates/output
|
226
214
|
- samples/standard/hoisted-predicates/input
|
215
|
+
- samples/standard/hoisted-predicates/output
|
216
|
+
- samples/standard/hoisted-predicates/HoistedPredicates.g
|
217
|
+
- samples/standard/scopes/SymbolTable.g
|
218
|
+
- samples/standard/scopes/input
|
219
|
+
- samples/standard/scopes/scopes.rb
|
220
|
+
- samples/standard/scopes/output
|
221
|
+
- samples/standard/python/Python.g
|
222
|
+
- samples/standard/python/input
|
223
|
+
- samples/standard/python/PythonTokenSource.rb
|
224
|
+
- samples/standard/python/output
|
225
|
+
- samples/standard/python/python.rb
|
227
226
|
- ANTLR-LICENSE.txt
|
228
227
|
- History.txt
|
229
|
-
- README.
|
228
|
+
- DEVELOPER-README.rdoc
|
229
|
+
- README.rdoc
|
230
230
|
- java/antlr-full-3.2.1.jar
|
231
231
|
- java/RubyTarget.java
|
232
232
|
- rakefile
|
233
233
|
- Manifest.txt
|
234
|
-
has_rdoc: true
|
235
234
|
homepage: http://antlr.ohboyohboyohboy.org/
|
236
235
|
licenses: []
|
237
236
|
|
@@ -263,48 +262,48 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
263
262
|
requirements:
|
264
263
|
- java
|
265
264
|
rubyforge_project: antlr3
|
266
|
-
rubygems_version: 1.
|
265
|
+
rubygems_version: 1.8.24
|
267
266
|
signing_key:
|
268
267
|
specification_version: 3
|
269
268
|
summary: Fully-featured ruby parser generation for ANTLR version 3.
|
270
269
|
test_files:
|
271
|
-
- test/unit/test-
|
270
|
+
- test/unit/test-scope.rb
|
272
271
|
- test/unit/test-template.rb
|
272
|
+
- test/unit/test-tree-wizard.rb
|
273
273
|
- test/unit/test-unicode-stream.rb
|
274
|
-
- test/unit/test-dfa.rb
|
275
|
-
- test/unit/test-exceptions.rb
|
276
274
|
- test/unit/test-scheme.rb
|
277
|
-
- test/unit/test-tree-wizard.rb
|
278
275
|
- test/unit/test-trees.rb
|
276
|
+
- test/unit/test-streams.rb
|
277
|
+
- test/unit/test-dfa.rb
|
279
278
|
- test/unit/test-recognizers.rb
|
280
|
-
- test/unit/test-
|
279
|
+
- test/unit/test-exceptions.rb
|
280
|
+
- test/functional/ast-output/auto-ast.rb
|
281
|
+
- test/functional/ast-output/hetero-nodes.rb
|
282
|
+
- test/functional/ast-output/construction.rb
|
283
|
+
- test/functional/ast-output/rewrites.rb
|
284
|
+
- test/functional/ast-output/tree-rewrite.rb
|
285
|
+
- test/functional/token-rewrite/via-parser.rb
|
286
|
+
- test/functional/token-rewrite/basic.rb
|
281
287
|
- test/functional/main/main-scripts.rb
|
282
|
-
- test/functional/template-output/template-output.rb
|
283
288
|
- test/functional/tree-parser/basic.rb
|
284
|
-
- test/functional/
|
285
|
-
- test/functional/
|
286
|
-
- test/functional/lexer/syn-pred.rb
|
287
|
-
- test/functional/lexer/basic.rb
|
288
|
-
- test/functional/lexer/nuances.rb
|
289
|
-
- test/functional/lexer/xml.rb
|
290
|
-
- test/functional/delegation/import.rb
|
291
|
-
- test/functional/parser/scopes.rb
|
289
|
+
- test/functional/parser/nuances.rb
|
290
|
+
- test/functional/parser/backtracking.rb
|
292
291
|
- test/functional/parser/properties.rb
|
293
|
-
- test/functional/parser/
|
292
|
+
- test/functional/parser/scopes.rb
|
293
|
+
- test/functional/parser/rule-methods.rb
|
294
294
|
- test/functional/parser/predicates.rb
|
295
|
-
- test/functional/parser/ll-star.rb
|
296
|
-
- test/functional/parser/backtracking.rb
|
297
295
|
- test/functional/parser/calc.rb
|
298
|
-
- test/functional/parser/
|
296
|
+
- test/functional/parser/basic.rb
|
297
|
+
- test/functional/parser/ll-star.rb
|
299
298
|
- test/functional/parser/actions.rb
|
300
|
-
- test/functional/
|
301
|
-
- test/functional/
|
302
|
-
- test/functional/
|
299
|
+
- test/functional/lexer/filter-mode.rb
|
300
|
+
- test/functional/lexer/nuances.rb
|
301
|
+
- test/functional/lexer/properties.rb
|
302
|
+
- test/functional/lexer/basic.rb
|
303
|
+
- test/functional/lexer/syn-pred.rb
|
304
|
+
- test/functional/lexer/xml.rb
|
303
305
|
- test/functional/debugging/rule-tracing.rb
|
304
|
-
- test/functional/
|
305
|
-
- test/functional/
|
306
|
-
- test/functional/
|
307
|
-
- test/functional/
|
308
|
-
- test/functional/ast-output/rewrites.rb
|
309
|
-
- test/functional/ast-output/hetero-nodes.rb
|
310
|
-
- test/functional/ast-output/auto-ast.rb
|
306
|
+
- test/functional/debugging/profile-mode.rb
|
307
|
+
- test/functional/debugging/debug-mode.rb
|
308
|
+
- test/functional/delegation/import.rb
|
309
|
+
- test/functional/template-output/template-output.rb
|