ruby-ll 1.1.2-java → 1.1.3-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/README.md +18 -0
- data/ext/c/driver_config.c +3 -16
- data/lib/libll.jar +0 -0
- data/lib/ll/version.rb +1 -1
- metadata +2 -3
- data/doc/changelog.md +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5a9dc1d9c35dced64f28eaf2340cd576d990ad5
|
4
|
+
data.tar.gz: 97acb8a53b364b77ef58e4e4060b21366efff1de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a2a4f2b163adf8d50072570cd955b412c810d27b1f0a27f5c3f9a138132b012ea6059df8d337e788844194f0450f1661833029c06cdbd42899afcec8a2c260d
|
7
|
+
data.tar.gz: 531c4be54e3d700126c339bd44177c7fcdb1fc2b51c03d135de9fd1d1c6c8162a7628b2a3a9bccabff5159add4a8ab82298acd3032424107f990b7da0d078e63
|
data/.yardopts
CHANGED
data/README.md
CHANGED
@@ -80,6 +80,24 @@ parsing simply call the `parse` method:
|
|
80
80
|
The return value of this method is whatever the root rule (= the first rule
|
81
81
|
defined) returned.
|
82
82
|
|
83
|
+
## Parser Input
|
84
|
+
|
85
|
+
For a parser to work it must receive its input from a separate lexer. To pass
|
86
|
+
input to the parser you must define the method `each_token` in an `%inner`
|
87
|
+
block. This method should yield an Array containing two values:
|
88
|
+
|
89
|
+
1. The token type as a Symbol (e.g. `:T_STRING`)
|
90
|
+
2. The token value, this can be any type of value
|
91
|
+
|
92
|
+
The last Array yielded by this method should be `[-1, -1]` to signal the end of
|
93
|
+
the input. For example:
|
94
|
+
|
95
|
+
def each_token
|
96
|
+
yield [:T_STRING, 'foo']
|
97
|
+
yield [:T_STRING, 'bar']
|
98
|
+
yield [-1, -1]
|
99
|
+
end
|
100
|
+
|
83
101
|
## Error Handling
|
84
102
|
|
85
103
|
Parser errors are handled by `LL::Driver#parser_error`. By default this method
|
data/ext/c/driver_config.c
CHANGED
@@ -28,20 +28,6 @@ void ll_driver_config_free(DriverConfig *config)
|
|
28
28
|
free(config);
|
29
29
|
}
|
30
30
|
|
31
|
-
/**
|
32
|
-
* Marks various members of the DriverConfig to ensure they are not garbage
|
33
|
-
* collected until at least the next GC run.
|
34
|
-
*/
|
35
|
-
void ll_driver_config_mark(DriverConfig *config)
|
36
|
-
{
|
37
|
-
long index;
|
38
|
-
|
39
|
-
FOR(index, config->actions_count)
|
40
|
-
{
|
41
|
-
rb_gc_mark(config->action_names[index]);
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
31
|
/**
|
46
32
|
* Allocates a new DriverConfig.
|
47
33
|
*/
|
@@ -51,8 +37,9 @@ VALUE ll_driver_config_allocate(VALUE klass)
|
|
51
37
|
|
52
38
|
return Data_Wrap_Struct(
|
53
39
|
klass,
|
54
|
-
|
55
|
-
ll_driver_config_free,
|
40
|
+
NULL,
|
41
|
+
ll_driver_config_free,
|
42
|
+
config
|
56
43
|
);
|
57
44
|
}
|
58
45
|
|
data/lib/libll.jar
CHANGED
Binary file
|
data/lib/ll/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-ll
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Yorick Peterse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ast
|
@@ -148,7 +148,6 @@ files:
|
|
148
148
|
- README.md
|
149
149
|
- bin/ruby-ll
|
150
150
|
- doc/DCO.md
|
151
|
-
- doc/changelog.md
|
152
151
|
- doc/css/common.css
|
153
152
|
- ext/c/driver.c
|
154
153
|
- ext/c/driver.h
|
data/doc/changelog.md
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# Changelog
|
2
|
-
|
3
|
-
This document contains details of the various releases and their release dates.
|
4
|
-
Dates are in the format `yyyy-mm-dd`.
|
5
|
-
|
6
|
-
## 1.1.2 - 2015-02-16
|
7
|
-
|
8
|
-
The file `ll/setup` now also loads `LL::ConfigurationCompiler` to ensure that
|
9
|
-
the `TYPES` array (and thus `LL::Driver#id_to_type`) can be used outside of
|
10
|
-
ruby-ll itself.
|
11
|
-
|
12
|
-
## 1.1.1 - 2015-02-16
|
13
|
-
|
14
|
-
Parser errors produced by ruby-ll's own parser/grammar now include the line
|
15
|
-
number/column number whenever possible.
|
16
|
-
|
17
|
-
## 1.1.0 - 2015-02-16
|
18
|
-
|
19
|
-
This release changes the way error handling is done. Instead of having multiple,
|
20
|
-
separate error callbacks there's now only one error callback:
|
21
|
-
`LL::Driver#parser_error`. See commit 22b6081e37509d10e3b31d6593b0a7f2e5fd7839
|
22
|
-
for more information.
|
23
|
-
|
24
|
-
While this change technically breaks backwards compatibility I do not consider
|
25
|
-
the old error handling system part of the public API, mainly due to it being
|
26
|
-
extremely painful to use.
|
27
|
-
|
28
|
-
## 1.0.0 - 2015-02-13
|
29
|
-
|
30
|
-
The first public release of ruby-ll!
|