antlr3 1.8.12 → 1.8.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|