sexpr 1.0.0 → 1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -9
- data/lib/sexpr/grammar/options.rb +2 -2
- data/lib/sexpr/parser/citrus.rb +2 -2
- data/lib/sexpr/version.rb +1 -1
- data/lib/sexpr.rb +2 -2
- data/spec/unit/parser/test_input_text.rb +2 -2
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7443a85e9707b7dda46f8ad3114a60b0dde2e1d79d109e0f9c035032c7ff7076
|
4
|
+
data.tar.gz: 44aa06026a8e7109aa341a8dfa33520ababa941b3c1b2a59c6f459f98c69361a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 863dd88e82ba1d50cc4c83c18f0aceed3415b7dc3ef5a448e95878ac78bba3561a806e3ad2d4a6e2f8ed4561a810851b1d24831ab782dc97418b05ecc5d9d688
|
7
|
+
data.tar.gz: 678512db91ae099f49129aed7672ea3e5d236b1f34539c467497bdf4959bd264fec74631963e01e1aad92b6baee78d66eedb7c3d6b09b84623469cca58d23d67
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,19 @@
|
|
1
|
-
|
1
|
+
## 1.1.0 / 2023-06-09
|
2
|
+
|
3
|
+
* Removed (tested) support for ruby < 2.7. No breaking change though,
|
4
|
+
but those versions are no longer supported
|
5
|
+
|
6
|
+
* Bumped path dependency to 2.1.x
|
7
|
+
|
8
|
+
* Fix File.exists? usages not working under ruby 3.2
|
9
|
+
|
10
|
+
## 1.0.0 / 2021-12-11
|
2
11
|
|
3
12
|
* Upgrade project structure to modern Enspirit practices
|
4
13
|
|
5
14
|
* Citrus dependency upgraded to 3.x and code fixed accordingly
|
6
15
|
|
7
|
-
|
16
|
+
## 0.6.0 / 2012-09-13
|
8
17
|
|
9
18
|
* Major enhancements (possibly breaking changes)
|
10
19
|
|
@@ -20,7 +29,7 @@
|
|
20
29
|
module used to tag a given grammar rule production.
|
21
30
|
* `Grammar#looks_a_sexpr?(arg)` became public.
|
22
31
|
|
23
|
-
|
32
|
+
## 0.5.1 / 2012-03-13
|
24
33
|
|
25
34
|
* Minor enhancements
|
26
35
|
|
@@ -33,7 +42,7 @@
|
|
33
42
|
* Use `reference.const_get(name, *false*)` when looking for tagging modules to avoid
|
34
43
|
finding ruby classes such as Array when tagging sexpr such as [:array, ...].
|
35
44
|
|
36
|
-
|
45
|
+
## 0.5.0 / 2012-02-25
|
37
46
|
|
38
47
|
* Major enhancements
|
39
48
|
|
@@ -72,7 +81,7 @@
|
|
72
81
|
* The `Processor#main_processor` feature (undocumented and unused in examples) has been
|
73
82
|
removed. Using preprocessors is much cleaner that linking processors to each other.
|
74
83
|
|
75
|
-
|
84
|
+
## 0.4.0 / 2012-02-23
|
76
85
|
|
77
86
|
* Major enhancements
|
78
87
|
|
@@ -101,7 +110,7 @@
|
|
101
110
|
tracking markers (see enhancements). To palliate to this, default parsing options can
|
102
111
|
now be specified through `Grammar#default_parse_options` (see enhancements).
|
103
112
|
|
104
|
-
|
113
|
+
## 0.3.0 / 2012-02-21
|
105
114
|
|
106
115
|
* Breaking changes
|
107
116
|
|
@@ -124,7 +133,7 @@
|
|
124
133
|
to module names. That convention may however be overridden with specific grammar
|
125
134
|
methods (see the BoolExpr example).
|
126
135
|
|
127
|
-
|
136
|
+
## 0.2.0 / 2012-02-21
|
128
137
|
|
129
138
|
* Enhancements
|
130
139
|
|
@@ -132,8 +141,8 @@
|
|
132
141
|
* The root rule to use can now be specified in the options hash taken as second argument
|
133
142
|
of `SexpGrammar.grammar(..., :root => :some_rule_name)`
|
134
143
|
|
135
|
-
|
144
|
+
## 0.1.0 / 2012-02-20
|
136
145
|
|
137
146
|
* Enhancements
|
138
147
|
|
139
|
-
* Birthday!
|
148
|
+
* Birthday!
|
@@ -38,7 +38,7 @@ module Sexpr
|
|
38
38
|
|
39
39
|
def install_parser
|
40
40
|
@parser = option(:parser)
|
41
|
-
if @parser.is_a?(String) && !File.
|
41
|
+
if @parser.is_a?(String) && !File.exist?(@parser)
|
42
42
|
unless path
|
43
43
|
raise Errno::ENOENT, "#{@parser} (no main path)"
|
44
44
|
end
|
@@ -53,4 +53,4 @@ module Sexpr
|
|
53
53
|
|
54
54
|
end # module Options
|
55
55
|
end # module Grammar
|
56
|
-
end # module Sexpr
|
56
|
+
end # module Sexpr
|
data/lib/sexpr/parser/citrus.rb
CHANGED
@@ -12,7 +12,7 @@ module Sexpr
|
|
12
12
|
|
13
13
|
def looks_a_citrus_file?(arg)
|
14
14
|
arg = arg.to_path if arg.respond_to?(:to_path)
|
15
|
-
arg.is_a?(String) && File.
|
15
|
+
arg.is_a?(String) && File.exist?(arg) && (File.extname(arg) == ".citrus")
|
16
16
|
end
|
17
17
|
|
18
18
|
def looks_a_citrus_grammar?(arg)
|
@@ -53,4 +53,4 @@ module Sexpr
|
|
53
53
|
Sexpr::Parser.register self
|
54
54
|
end # class Citrus
|
55
55
|
end # module Parser
|
56
|
-
end # module Sexpr
|
56
|
+
end # module Sexpr
|
data/lib/sexpr/version.rb
CHANGED
data/lib/sexpr.rb
CHANGED
@@ -16,7 +16,7 @@ module Sexpr
|
|
16
16
|
YAML_OPTIONS = { :permitted_classes => %w[Regexp], :aliases => true }
|
17
17
|
|
18
18
|
PathLike = lambda{|x|
|
19
|
-
x.respond_to?(:to_path) or (x.is_a?(String) and File.
|
19
|
+
x.respond_to?(:to_path) or (x.is_a?(String) and File.exist?(x))
|
20
20
|
}
|
21
21
|
|
22
22
|
def self.load(input, options = {})
|
@@ -50,4 +50,4 @@ module Sexpr
|
|
50
50
|
YAML.load(source)
|
51
51
|
end
|
52
52
|
end
|
53
|
-
end # module Sexpr
|
53
|
+
end # module Sexpr
|
@@ -8,7 +8,7 @@ module Sexpr
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'accepts a path' do
|
11
|
-
input_text(Path.
|
11
|
+
input_text(Path.file).should eq(File.read(__FILE__))
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'accepts an IO' do
|
@@ -24,4 +24,4 @@ module Sexpr
|
|
24
24
|
end
|
25
25
|
|
26
26
|
end
|
27
|
-
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sexpr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bernard Lambeau
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: path
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1
|
19
|
+
version: '2.1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1
|
26
|
+
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: citrus
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,7 +170,7 @@ files:
|
|
170
170
|
homepage: https://github.com/blambeau/sexp
|
171
171
|
licenses: []
|
172
172
|
metadata: {}
|
173
|
-
post_install_message:
|
173
|
+
post_install_message:
|
174
174
|
rdoc_options: []
|
175
175
|
require_paths:
|
176
176
|
- lib
|
@@ -185,8 +185,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
185
|
- !ruby/object:Gem::Version
|
186
186
|
version: '0'
|
187
187
|
requirements: []
|
188
|
-
rubygems_version: 3.1.
|
189
|
-
signing_key:
|
188
|
+
rubygems_version: 3.1.6
|
189
|
+
signing_key:
|
190
190
|
specification_version: 4
|
191
191
|
summary: A compilation framework around s-expressions
|
192
192
|
test_files: []
|