melbourne 1.0.0 → 1.0.1
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/HISTORY.md +9 -0
- data/LICENSE +0 -0
- data/README.md +43 -0
- data/Rakefile +20 -17
- data/ext/melbourne/bstring-license.txt +0 -0
- data/ext/melbourne/bstrlib.c +0 -0
- data/ext/melbourne/bstrlib.h +0 -0
- data/ext/melbourne/extconf.rb +0 -0
- data/ext/melbourne/grammar.cpp +0 -0
- data/ext/melbourne/grammar.hpp +0 -0
- data/ext/melbourne/grammar.y +0 -0
- data/ext/melbourne/internal.hpp +0 -0
- data/ext/melbourne/lex.c.tab +0 -0
- data/ext/melbourne/local_state.hpp +0 -0
- data/ext/melbourne/melbourne.cpp +0 -0
- data/ext/melbourne/node.hpp +0 -0
- data/ext/melbourne/node_types.cpp +0 -0
- data/ext/melbourne/node_types.hpp +0 -0
- data/ext/melbourne/node_types.rb +0 -0
- data/ext/melbourne/quark.cpp +0 -0
- data/ext/melbourne/quark.hpp +0 -0
- data/ext/melbourne/symbols.cpp +0 -0
- data/ext/melbourne/symbols.hpp +0 -0
- data/ext/melbourne/var_table.cpp +0 -0
- data/ext/melbourne/var_table.hpp +0 -0
- data/ext/melbourne/visitor.cpp +0 -0
- data/ext/melbourne/visitor.hpp +0 -0
- data/lib/melbourne.rb +16 -18
- data/lib/melbourne/ast.rb +14 -16
- data/lib/melbourne/ast/constants.rb +5 -5
- data/lib/melbourne/ast/control_flow.rb +18 -18
- data/lib/melbourne/ast/data.rb +1 -1
- data/lib/melbourne/ast/definitions.rb +37 -37
- data/lib/melbourne/ast/exceptions.rb +9 -9
- data/lib/melbourne/ast/file.rb +0 -0
- data/lib/melbourne/ast/grapher.rb +7 -1
- data/lib/melbourne/ast/literals.rb +14 -14
- data/lib/melbourne/ast/node.rb +1 -1
- data/lib/melbourne/ast/operators.rb +6 -6
- data/lib/melbourne/ast/self.rb +0 -0
- data/lib/melbourne/ast/sends.rb +23 -23
- data/lib/melbourne/ast/values.rb +6 -6
- data/lib/melbourne/ast/variables.rb +15 -15
- data/lib/melbourne/parser.rb +1 -1
- data/lib/melbourne/processor.rb +1 -1
- data/spec/helpers/ast/node.rb +0 -0
- data/spec/helpers/ast/reduced_graph.rb +0 -0
- data/spec/lib/parser/alias_spec.rb +0 -0
- data/spec/lib/parser/and_spec.rb +0 -0
- data/spec/lib/parser/array_spec.rb +0 -0
- data/spec/lib/parser/attrasgn_spec.rb +0 -0
- data/spec/lib/parser/back_ref_spec.rb +0 -0
- data/spec/lib/parser/call_spec.rb +0 -0
- data/spec/lib/parser/case_spec.rb +0 -0
- data/spec/lib/parser/cdecl_spec.rb +0 -0
- data/spec/lib/parser/class_spec.rb +0 -0
- data/spec/lib/parser/colon2_spec.rb +0 -0
- data/spec/lib/parser/colon3_spec.rb +0 -0
- data/spec/lib/parser/const_spec.rb +0 -0
- data/spec/lib/parser/cvar_spec.rb +0 -0
- data/spec/lib/parser/cvasgn_spec.rb +0 -0
- data/spec/lib/parser/cvdecl_spec.rb +0 -0
- data/spec/lib/parser/defined_spec.rb +0 -0
- data/spec/lib/parser/defn_spec.rb +0 -0
- data/spec/lib/parser/defs_spec.rb +0 -0
- data/spec/lib/parser/dot2_spec.rb +0 -0
- data/spec/lib/parser/dot3_spec.rb +0 -0
- data/spec/lib/parser/dregx_spec.rb +0 -0
- data/spec/lib/parser/dstr_spec.rb +0 -0
- data/spec/lib/parser/dsym_spec.rb +0 -0
- data/spec/lib/parser/dxstr_spec.rb +0 -0
- data/spec/lib/parser/ensure_spec.rb +0 -0
- data/spec/lib/parser/false_spec.rb +0 -0
- data/spec/lib/parser/flip2_spec.rb +0 -0
- data/spec/lib/parser/flip3_spec.rb +0 -0
- data/spec/lib/parser/for_spec.rb +0 -0
- data/spec/lib/parser/gasgn_spec.rb +0 -0
- data/spec/lib/parser/gvar_spec.rb +0 -0
- data/spec/lib/parser/hash_spec.rb +0 -0
- data/spec/lib/parser/iasgn_spec.rb +0 -0
- data/spec/lib/parser/if_spec.rb +0 -0
- data/spec/lib/parser/iter_spec.rb +0 -0
- data/spec/lib/parser/lasgn_spec.rb +0 -0
- data/spec/lib/parser/lit_spec.rb +0 -0
- data/spec/lib/parser/masgn_spec.rb +0 -0
- data/spec/lib/parser/match2_spec.rb +0 -0
- data/spec/lib/parser/match3_spec.rb +0 -0
- data/spec/lib/parser/match_spec.rb +0 -0
- data/spec/lib/parser/module_spec.rb +0 -0
- data/spec/lib/parser/nil_spec.rb +0 -0
- data/spec/lib/parser/not_spec.rb +0 -0
- data/spec/lib/parser/nth_ref_spec.rb +0 -0
- data/spec/lib/parser/op_asgn_spec.rb +0 -0
- data/spec/lib/parser/or_spec.rb +0 -0
- data/spec/lib/parser/postexe_spec.rb +0 -0
- data/spec/lib/parser/regex_spec.rb +0 -0
- data/spec/lib/parser/rescue_spec.rb +0 -0
- data/spec/lib/parser/return_spec.rb +0 -0
- data/spec/lib/parser/sclass_spec.rb +0 -0
- data/spec/lib/parser/str_spec.rb +0 -0
- data/spec/lib/parser/super_spec.rb +0 -0
- data/spec/lib/parser/true_spec.rb +0 -0
- data/spec/lib/parser/undef_spec.rb +0 -0
- data/spec/lib/parser/until_spec.rb +0 -0
- data/spec/lib/parser/valias_spec.rb +0 -0
- data/spec/lib/parser/while_spec.rb +0 -0
- data/spec/lib/parser/xstr_spec.rb +0 -0
- data/spec/lib/parser/yield_spec.rb +0 -0
- data/spec/lib/parser/zsuper_spec.rb +0 -0
- data/spec/matchers/parse_as.rb +0 -0
- data/spec/spec_helper.rb +0 -0
- metadata +19 -8
- data/HISTORY +0 -3
- data/README.rdoc +0 -38
- data/VERSION.yml +0 -4
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/parser/for_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/parser/if_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/parser/lit_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/parser/nil_spec.rb
CHANGED
|
File without changes
|
data/spec/lib/parser/not_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/parser/or_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/parser/str_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/matchers/parse_as.rb
CHANGED
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
|
File without changes
|
metadata
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: melbourne
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
4
|
+
hash: 21
|
|
5
|
+
prerelease: false
|
|
6
|
+
segments:
|
|
7
|
+
- 1
|
|
8
|
+
- 0
|
|
9
|
+
- 1
|
|
10
|
+
version: 1.0.1
|
|
5
11
|
platform: ruby
|
|
6
12
|
authors:
|
|
7
13
|
- Evan Phoenix
|
|
@@ -24,9 +30,8 @@ extra_rdoc_files: []
|
|
|
24
30
|
|
|
25
31
|
files:
|
|
26
32
|
- LICENSE
|
|
27
|
-
- README.
|
|
28
|
-
- HISTORY
|
|
29
|
-
- VERSION.yml
|
|
33
|
+
- README.md
|
|
34
|
+
- HISTORY.md
|
|
30
35
|
- Rakefile
|
|
31
36
|
- lib/melbourne/ast/constants.rb
|
|
32
37
|
- lib/melbourne/ast/control_flow.rb
|
|
@@ -136,7 +141,7 @@ files:
|
|
|
136
141
|
- ext/melbourne/visitor.cpp
|
|
137
142
|
- ext/melbourne/visitor.hpp
|
|
138
143
|
has_rdoc: true
|
|
139
|
-
homepage: http://github.com/
|
|
144
|
+
homepage: http://simplabs.github.com/melbourne
|
|
140
145
|
licenses: []
|
|
141
146
|
|
|
142
147
|
post_install_message:
|
|
@@ -146,21 +151,27 @@ rdoc_options:
|
|
|
146
151
|
require_paths:
|
|
147
152
|
- lib
|
|
148
153
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
154
|
+
none: false
|
|
149
155
|
requirements:
|
|
150
156
|
- - ">="
|
|
151
157
|
- !ruby/object:Gem::Version
|
|
158
|
+
hash: 3
|
|
159
|
+
segments:
|
|
160
|
+
- 0
|
|
152
161
|
version: "0"
|
|
153
|
-
version:
|
|
154
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
|
+
none: false
|
|
155
164
|
requirements:
|
|
156
165
|
- - ">="
|
|
157
166
|
- !ruby/object:Gem::Version
|
|
167
|
+
hash: 3
|
|
168
|
+
segments:
|
|
169
|
+
- 0
|
|
158
170
|
version: "0"
|
|
159
|
-
version:
|
|
160
171
|
requirements: []
|
|
161
172
|
|
|
162
173
|
rubyforge_project:
|
|
163
|
-
rubygems_version: 1.3.
|
|
174
|
+
rubygems_version: 1.3.7
|
|
164
175
|
signing_key:
|
|
165
176
|
specification_version: 3
|
|
166
177
|
summary: Rubinius' melbourne parser extracted into a gem (without the actual Rubinius)
|
data/HISTORY
DELETED
data/README.rdoc
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
= Melbourne
|
|
2
|
-
|
|
3
|
-
Melbourne is Rubinius[http://rubini.us]' parser component. The +melbourne+ gem extracts
|
|
4
|
-
this parser component for stand-alone use under MRI and other environments.
|
|
5
|
-
|
|
6
|
-
For Melbourne's full RDoc, see {rdoc.info}[http://rdoc.info/projects/marcoow/melbourne].
|
|
7
|
-
|
|
8
|
-
== Usage
|
|
9
|
-
|
|
10
|
-
Melbourne generates abstract syntax trees (ASTs) from Ruby source code:
|
|
11
|
-
|
|
12
|
-
require 'melbourne'
|
|
13
|
-
|
|
14
|
-
'class Test; end'.to_ast # => <AST::Class:0x1017800f8
|
|
15
|
-
@line=1,
|
|
16
|
-
@body=#<AST::EmptyBody:0x101780058 @line=1>,
|
|
17
|
-
@name=#<AST::ClassName:0x101780080 @line=1, @superclass=#<AST::Nil:0x1017800a8 @line=1>, @name=:Test>,
|
|
18
|
-
@superclass=#<AST::Nil:0x1017800a8 @line=1>>
|
|
19
|
-
|
|
20
|
-
== Abstract Syntax Trees
|
|
21
|
-
|
|
22
|
-
Abstract syntax trees allow for deep introspection of Ruby source code and are far
|
|
23
|
-
easier to handle than e.g. S-expressions as provided by ParseTree[http://parsetree.rubyforge.org/]
|
|
24
|
-
and other gems.
|
|
25
|
-
|
|
26
|
-
For more information on abstract syntax trees, see Wikipedia[http://en.wikipedia.org/wiki/Abstract_syntax_trees].
|
|
27
|
-
|
|
28
|
-
== Authors
|
|
29
|
-
|
|
30
|
-
The original code of Melbourne is part of the {Rubinius project}[http://rubini.us/] and
|
|
31
|
-
was written by and is © Evan Phoenix[http://github.com/evanphx/].
|
|
32
|
-
|
|
33
|
-
Melbourne was extracted from Rubinius into this gem by Marco Otte-Witte[http://simplabs.com].
|
|
34
|
-
|
|
35
|
-
== Bugs/ Feature Requests
|
|
36
|
-
|
|
37
|
-
the +melbourne+ gem is <b>not</b> maintained by the Rubinius[http://rubini.us] team! If you encounter
|
|
38
|
-
bugs or have feature requests, refer to the {Github repository}[http://github.com/marcoow/melbourne/issues].
|
data/VERSION.yml
DELETED