ast_ast 0.0.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +1 -1
- data/README.md +103 -33
- data/Rakefile +5 -48
- data/lib/ast_ast.rb +6 -6
- data/lib/ast_ast/ast.rb +162 -1
- data/lib/ast_ast/bnf.rb +187 -0
- data/lib/ast_ast/token.rb +51 -8
- data/lib/ast_ast/tokeniser.rb +35 -13
- data/lib/ast_ast/tokens.rb +308 -6
- data/lib/ast_ast/tree.rb +74 -2
- data/lib/ast_ast/version.rb +3 -0
- data/spec/ast_ast/token_spec.rb +62 -0
- data/spec/ast_ast/tokeniser_spec.rb +101 -0
- data/spec/ast_ast/tokens_spec.rb +329 -0
- data/spec/spec_helper.rb +11 -0
- metadata +27 -45
- data/.document +0 -5
- data/.gitignore +0 -24
- data/VERSION +0 -1
- data/lib/ast_tokens.rb +0 -8
- data/test/helper.rb +0 -10
- data/test/test_ast_ast.rb +0 -5
- data/test/test_tokeniser.rb +0 -13
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ast_ast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 31
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
7
|
+
- 1
|
8
8
|
- 0
|
9
|
-
|
10
|
-
version: 0.0.0
|
9
|
+
version: 0.1.0
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Joshua Hawxwell
|
@@ -15,70 +14,57 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-
|
17
|
+
date: 2010-11-29 00:00:00 +00:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
21
|
+
name: rspec
|
23
22
|
prerelease: false
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
28
|
segments:
|
31
|
-
-
|
32
|
-
|
29
|
+
- 2
|
30
|
+
- 1
|
31
|
+
version: "2.1"
|
33
32
|
type: :development
|
34
33
|
version_requirements: *id001
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 3
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
47
|
-
type: :development
|
48
|
-
version_requirements: *id002
|
49
|
-
description: Easily convert strings to Tokens and then on to an Abstract Syntax Tree easily. (Very far from finished!)
|
34
|
+
description: |
|
35
|
+
Easily convert strings into tokens.
|
36
|
+
In the future you will be able to convert these into a tree as well, but this is far from finished.
|
37
|
+
|
50
38
|
email: m@hawx.me
|
51
39
|
executables: []
|
52
40
|
|
53
41
|
extensions: []
|
54
42
|
|
55
|
-
extra_rdoc_files:
|
56
|
-
|
57
|
-
- README.md
|
43
|
+
extra_rdoc_files: []
|
44
|
+
|
58
45
|
files:
|
59
|
-
-
|
60
|
-
- .gitignore
|
46
|
+
- Rakefile
|
61
47
|
- LICENSE
|
62
48
|
- README.md
|
63
|
-
- Rakefile
|
64
|
-
- VERSION
|
65
|
-
- lib/ast_ast.rb
|
66
49
|
- lib/ast_ast/ast.rb
|
50
|
+
- lib/ast_ast/bnf.rb
|
67
51
|
- lib/ast_ast/token.rb
|
68
52
|
- lib/ast_ast/tokeniser.rb
|
69
53
|
- lib/ast_ast/tokens.rb
|
70
54
|
- lib/ast_ast/tree.rb
|
71
|
-
- lib/
|
72
|
-
-
|
73
|
-
-
|
74
|
-
-
|
75
|
-
|
55
|
+
- lib/ast_ast/version.rb
|
56
|
+
- lib/ast_ast.rb
|
57
|
+
- spec/ast_ast/token_spec.rb
|
58
|
+
- spec/ast_ast/tokeniser_spec.rb
|
59
|
+
- spec/ast_ast/tokens_spec.rb
|
60
|
+
- spec/spec_helper.rb
|
61
|
+
has_rdoc: false
|
76
62
|
homepage: http://github.com/hawx/ast_ast
|
77
63
|
licenses: []
|
78
64
|
|
79
65
|
post_install_message:
|
80
|
-
rdoc_options:
|
81
|
-
|
66
|
+
rdoc_options: []
|
67
|
+
|
82
68
|
require_paths:
|
83
69
|
- lib
|
84
70
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -86,7 +72,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
hash: 3
|
90
75
|
segments:
|
91
76
|
- 0
|
92
77
|
version: "0"
|
@@ -95,7 +80,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
80
|
requirements:
|
96
81
|
- - ">="
|
97
82
|
- !ruby/object:Gem::Version
|
98
|
-
hash: 3
|
99
83
|
segments:
|
100
84
|
- 0
|
101
85
|
version: "0"
|
@@ -105,8 +89,6 @@ rubyforge_project:
|
|
105
89
|
rubygems_version: 1.3.7
|
106
90
|
signing_key:
|
107
91
|
specification_version: 3
|
108
|
-
summary: String -> Tokens ->
|
109
|
-
test_files:
|
110
|
-
|
111
|
-
- test/test_ast_ast.rb
|
112
|
-
- test/test_tokeniser.rb
|
92
|
+
summary: String -> Tokens (-> Tree)
|
93
|
+
test_files: []
|
94
|
+
|
data/.document
DELETED
data/.gitignore
DELETED
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.0.0
|
data/lib/ast_tokens.rb
DELETED
data/test/helper.rb
DELETED
data/test/test_ast_ast.rb
DELETED
data/test/test_tokeniser.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class TestTokeniser < Test::Unit::TestCase
|
4
|
-
context "When trying examples" do
|
5
|
-
should "run first" do
|
6
|
-
class Klass < Ast::Tokeniser
|
7
|
-
rule(:word, /[a-z]+/) {|i| i.reverse}
|
8
|
-
end
|
9
|
-
result = [[:word, "sdrawkcab"], [:word, "forwards"]]
|
10
|
-
assert_equal result, Klass.tokenise("backwards sdrawrof")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|