expressir 1.2.9-x86_64-darwin → 1.2.11-x86_64-darwin
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/.cross_rubies +5 -0
- data/.github/workflows/rake.yml +16 -16
- data/expressir.gemspec +2 -2
- data/lib/expressir/express/2.7/express_parser.bundle +0 -0
- data/lib/expressir/express/3.0/express_parser.bundle +0 -0
- data/lib/expressir/express/3.1/express_parser.bundle +0 -0
- data/lib/expressir/express/3.2/express_parser.bundle +0 -0
- data/lib/expressir/express/parser.rb +2 -1
- data/lib/expressir/version.rb +1 -1
- data/lib/expressir.rb +4 -0
- data/rakelib/antlr4-native.rake +2 -2
- data/rakelib/cross-ruby.rake +2 -1
- data/spec/expressir/express/cache_spec.rb +7 -0
- data/spec/expressir/express/parser_spec.rb +7 -0
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3cf8c8311ef29494d1d5301e31c943ff107882f8dc688cb7dbbdb7da24c3c032
|
4
|
+
data.tar.gz: 89efcc3de4800723f3a702ae54c9395b898d89c1b187a93422fe735ecdfded54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 998b948317163a5656fbc04c8520e6fac20aa449e645203bdcd224ccf9096a1339ebeb47988c92b17a1f91e6e8a4946b13d1ee9dc2c03637f3909cc07e13dedc
|
7
|
+
data.tar.gz: d8f480930d0528c3db376ee7a6816eb79d00b79bb3bb11be782de87a7b6c670c415b36669a93b3b95ea67353fdf824499fc40d9d431735a580e541307b0705c1
|
data/.cross_rubies
CHANGED
data/.github/workflows/rake.yml
CHANGED
@@ -10,7 +10,7 @@ concurrency:
|
|
10
10
|
cancel-in-progress: true
|
11
11
|
|
12
12
|
env:
|
13
|
-
BUNDLER_VER: 2.
|
13
|
+
BUNDLER_VER: 2.4.22
|
14
14
|
# Forcing bundler version to ensure that it is consistent everywhere and
|
15
15
|
# does not cause bundler gem reinstalls
|
16
16
|
# bundler/rubygems 2.3.22 is a minimal requirement to support gnu/musl differentiation
|
@@ -21,14 +21,14 @@ jobs:
|
|
21
21
|
runs-on: ubuntu-latest
|
22
22
|
steps:
|
23
23
|
- name: Checkout
|
24
|
-
uses: actions/checkout@
|
24
|
+
uses: actions/checkout@v4
|
25
25
|
with:
|
26
26
|
submodules: recursive
|
27
27
|
|
28
28
|
- name: Install Ruby
|
29
29
|
uses: ruby/setup-ruby@master
|
30
30
|
with:
|
31
|
-
ruby-version: 3.
|
31
|
+
ruby-version: 3.1
|
32
32
|
bundler: ${{ env.BUNDLER_VER }}
|
33
33
|
bundler-cache: true
|
34
34
|
|
@@ -44,12 +44,12 @@ jobs:
|
|
44
44
|
strategy:
|
45
45
|
fail-fast: false
|
46
46
|
matrix:
|
47
|
-
ruby: [ '3.1', '3.0', '2.7' ]
|
47
|
+
ruby: [ '3.2', '3.1', '3.0', '2.7' ]
|
48
48
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
49
49
|
|
50
50
|
steps:
|
51
51
|
- name: Checkout
|
52
|
-
uses: actions/checkout@
|
52
|
+
uses: actions/checkout@v4
|
53
53
|
with:
|
54
54
|
submodules: recursive
|
55
55
|
|
@@ -69,7 +69,7 @@ jobs:
|
|
69
69
|
id: cache
|
70
70
|
with:
|
71
71
|
path: lib/expressir/express/express_parser.*
|
72
|
-
key: v4-${{
|
72
|
+
key: v4-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('ext/express-parser/extconf.rb', 'ext/express-parser/antlrgen/**', 'ext/express-parser/express_parser.cpp', '.git/modules/ext/express-parser/antlr4-upstream/HEAD') }}
|
73
73
|
|
74
74
|
- name: Build native extension
|
75
75
|
if: steps.cache.outputs.cache-hit != 'true'
|
@@ -85,7 +85,7 @@ jobs:
|
|
85
85
|
runs-on: ubuntu-latest
|
86
86
|
steps:
|
87
87
|
- name: Checkout
|
88
|
-
uses: actions/checkout@
|
88
|
+
uses: actions/checkout@v4
|
89
89
|
with:
|
90
90
|
submodules: recursive
|
91
91
|
|
@@ -117,7 +117,7 @@ jobs:
|
|
117
117
|
host: [ linux, windows, darwin ]
|
118
118
|
steps:
|
119
119
|
- name: Checkout
|
120
|
-
uses: actions/checkout@
|
120
|
+
uses: actions/checkout@v4
|
121
121
|
with:
|
122
122
|
submodules: recursive
|
123
123
|
|
@@ -156,7 +156,7 @@ jobs:
|
|
156
156
|
strategy:
|
157
157
|
fail-fast: false
|
158
158
|
matrix:
|
159
|
-
ruby: [ '3.1', '3.0', '2.7' ]
|
159
|
+
ruby: [ '3.2', '3.1', '3.0', '2.7' ]
|
160
160
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
161
161
|
steps:
|
162
162
|
- name: Install Ruby
|
@@ -167,7 +167,7 @@ jobs:
|
|
167
167
|
bundler: ${{ env.BUNDLER_VER }}
|
168
168
|
|
169
169
|
- name: Checkout
|
170
|
-
uses: actions/checkout@
|
170
|
+
uses: actions/checkout@v4
|
171
171
|
with:
|
172
172
|
submodules: recursive
|
173
173
|
|
@@ -196,7 +196,7 @@ jobs:
|
|
196
196
|
strategy:
|
197
197
|
fail-fast: false
|
198
198
|
matrix:
|
199
|
-
ruby: [ '3.1', '3.0', '2.7' ]
|
199
|
+
ruby: [ '3.2', '3.1', '3.0', '2.7' ]
|
200
200
|
steps:
|
201
201
|
- name: Install Ruby
|
202
202
|
uses: ruby/setup-ruby@master
|
@@ -206,7 +206,7 @@ jobs:
|
|
206
206
|
bundler: ${{ env.BUNDLER_VER }}
|
207
207
|
|
208
208
|
- name: Checkout
|
209
|
-
uses: actions/checkout@
|
209
|
+
uses: actions/checkout@v4
|
210
210
|
|
211
211
|
- name: Bundle
|
212
212
|
run: bundle install --jobs 4 --retry 3
|
@@ -234,7 +234,7 @@ jobs:
|
|
234
234
|
strategy:
|
235
235
|
fail-fast: false
|
236
236
|
matrix:
|
237
|
-
ruby: [ '3.1', '3.0', '2.7' ]
|
237
|
+
ruby: [ '3.2', '3.1', '3.0', '2.7' ]
|
238
238
|
steps:
|
239
239
|
- name: Install Ruby
|
240
240
|
uses: ruby/setup-ruby@master
|
@@ -244,7 +244,7 @@ jobs:
|
|
244
244
|
bundler: ${{ env.BUNDLER_VER }}
|
245
245
|
|
246
246
|
- name: Checkout
|
247
|
-
uses: actions/checkout@
|
247
|
+
uses: actions/checkout@v4
|
248
248
|
|
249
249
|
- name: Bundle
|
250
250
|
run: bundle install --jobs 4 --retry 3
|
@@ -274,7 +274,7 @@ jobs:
|
|
274
274
|
# Ruby 3.1 fails
|
275
275
|
# https://github.com/lutaml/expressir/issues/103
|
276
276
|
matrix:
|
277
|
-
ruby: [ '3.1', '3.0', '2.7' ]
|
277
|
+
ruby: [ '3.2', '3.1', '3.0', '2.7' ]
|
278
278
|
steps:
|
279
279
|
- name: Install Ruby
|
280
280
|
uses: ruby/setup-ruby@master
|
@@ -284,7 +284,7 @@ jobs:
|
|
284
284
|
bundler: ${{ env.BUNDLER_VER }}
|
285
285
|
|
286
286
|
- name: Checkout
|
287
|
-
uses: actions/checkout@
|
287
|
+
uses: actions/checkout@v4
|
288
288
|
|
289
289
|
- name: Bundle
|
290
290
|
run: bundle install --jobs 4 --retry 3
|
data/expressir.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
|
31
31
|
spec.extensions = File.join(*%w(ext express-parser extconf.rb))
|
32
32
|
|
33
|
-
spec.add_runtime_dependency "rice", "~> 4.
|
33
|
+
spec.add_runtime_dependency "rice", "~> 4.1"
|
34
34
|
spec.add_runtime_dependency "thor", "~> 1.0"
|
35
35
|
spec.add_development_dependency "antlr4-native", "~> 2.1.0"
|
36
36
|
spec.add_development_dependency "asciidoctor", "~> 2.0.13"
|
@@ -39,7 +39,7 @@ Gem::Specification.new do |spec|
|
|
39
39
|
spec.add_development_dependency "pry", "~> 0.12.2"
|
40
40
|
spec.add_development_dependency "rake", "~> 13.0"
|
41
41
|
spec.add_development_dependency "rake-compiler", "~> 1.2"
|
42
|
-
spec.add_development_dependency "rake-compiler-dock", "~> 1.
|
42
|
+
spec.add_development_dependency "rake-compiler-dock", "~> 1.3"
|
43
43
|
spec.add_development_dependency "rspec", "~> 3.11"
|
44
44
|
spec.add_development_dependency "rubocop", "1.58"
|
45
45
|
spec.add_development_dependency "rubocop-performance", "~> 1.19"
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -31,11 +31,12 @@ module Expressir
|
|
31
31
|
# @param [Boolean] include_source attach original source code to model elements
|
32
32
|
# @return [Model::Repository]
|
33
33
|
def self.from_file(file, skip_references: nil, include_source: nil)
|
34
|
+
raise Errno::ENOENT, "File not found: #{file}" unless File.exist?(file)
|
34
35
|
|
35
36
|
# An important note re memory management
|
36
37
|
# parse, syntax, visitor methods return complex tree structures created in native (C++) extension
|
37
38
|
# visit method references nodes and leaves of this structures but it is totally untransparent for Ruby GarbageCllector
|
38
|
-
# so in this class we keep those C++ structure marked for GC so they are not freed
|
39
|
+
# so in this class we keep those C++ structure marked for GC so they are not freed
|
39
40
|
@parser = ::ExpressParser::ParserExt.new(file.to_s)
|
40
41
|
@parse_tree = @parser.syntax()
|
41
42
|
|
data/lib/expressir/version.rb
CHANGED
data/lib/expressir.rb
CHANGED
data/rakelib/antlr4-native.rake
CHANGED
@@ -48,7 +48,7 @@ def create_pp_class_definition(parser_source_lines)
|
|
48
48
|
|
49
49
|
class ParserProxyExt : public Object {
|
50
50
|
public:
|
51
|
-
ParserProxyExt(
|
51
|
+
ParserProxyExt(string file) {
|
52
52
|
ifstream stream;
|
53
53
|
stream.open(file);
|
54
54
|
input = new ANTLRInputStream(stream);
|
@@ -115,7 +115,7 @@ def create_class_api(parser_source_lines)
|
|
115
115
|
.define_method("token_index", &TokenProxy::getTokenIndex);
|
116
116
|
|
117
117
|
rb_cParserExt = define_class_under<ParserProxyExt>(rb_mExpressParser, "ParserExt")
|
118
|
-
.define_constructor(Constructor<ParserProxyExt,
|
118
|
+
.define_constructor(Constructor<ParserProxyExt, string>())
|
119
119
|
.define_method("syntax", &ParserProxyExt::syntax, Return().keepAlive())
|
120
120
|
.define_method("tokens", &ParserProxyExt::getTokens)
|
121
121
|
.define_method("visit", &ParserProxyExt::visit, Return().keepAlive());
|
data/rakelib/cross-ruby.rake
CHANGED
@@ -166,7 +166,7 @@ CrossRuby = Struct.new(:version, :host) do
|
|
166
166
|
"api-ms-win-crt-filesystem-l1-1-0.dll",
|
167
167
|
"api-ms-win-crt-math-l1-1-0.dll",
|
168
168
|
"libwinpthread-1.dll",
|
169
|
-
"x64-ucrt-
|
169
|
+
"x64-ucrt-ruby#{api_ver_suffix}.dll"]
|
170
170
|
end
|
171
171
|
# rubocop:enable Metrics/MethodLength
|
172
172
|
|
@@ -195,6 +195,7 @@ CrossRuby = Struct.new(:version, :host) do
|
|
195
195
|
"libm.so",
|
196
196
|
"libstdc++.so",
|
197
197
|
"libgcc_s.so",
|
198
|
+
"libpthread.so",
|
198
199
|
]
|
199
200
|
end
|
200
201
|
|
@@ -33,6 +33,13 @@ RSpec.describe Expressir::Express::Cache do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
describe ".from_file" do
|
36
|
+
it "throws an exception if the cache file does not exist" do |example|
|
37
|
+
print "\n[#{example.description}] "
|
38
|
+
expect do
|
39
|
+
Expressir::Express::Cache.from_file("non-existing-file", test_overwrite_version: TEST_VERSION)
|
40
|
+
end.to raise_error(Errno::ENOENT)
|
41
|
+
end
|
42
|
+
|
36
43
|
it "parses a file" do |example|
|
37
44
|
print "\n[#{example.description}] "
|
38
45
|
temp_file = Tempfile.new
|
@@ -4,6 +4,13 @@ require "expressir/express/parser"
|
|
4
4
|
|
5
5
|
RSpec.describe Expressir::Express::Parser do
|
6
6
|
describe ".from_file" do
|
7
|
+
it "throws an exception if the file to parse does not exist" do |example|
|
8
|
+
print "\n[#{example.description}] "
|
9
|
+
expect do
|
10
|
+
Expressir::Express::Parser.from_file("non-existing-file")
|
11
|
+
end.to raise_error(Errno::ENOENT)
|
12
|
+
end
|
13
|
+
|
7
14
|
it "parses a file (single.exp)" do |example|
|
8
15
|
print "\n[#{example.description}] "
|
9
16
|
exp_file = Expressir.root_path.join("spec", "syntax", "single.exp")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: expressir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.11
|
5
5
|
platform: x86_64-darwin
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.
|
131
|
+
version: '1.3'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 1.
|
138
|
+
version: '1.3'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rspec
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -243,6 +243,7 @@ files:
|
|
243
243
|
- lib/expressir/express/2.7/express_parser.bundle
|
244
244
|
- lib/expressir/express/3.0/express_parser.bundle
|
245
245
|
- lib/expressir/express/3.1/express_parser.bundle
|
246
|
+
- lib/expressir/express/3.2/express_parser.bundle
|
246
247
|
- lib/expressir/express/cache.rb
|
247
248
|
- lib/expressir/express/formatter.rb
|
248
249
|
- lib/expressir/express/hyperlink_formatter.rb
|
@@ -364,7 +365,7 @@ metadata:
|
|
364
365
|
homepage_uri: https://github.com/lutaml/expressir
|
365
366
|
source_code_uri: https://github.com/lutaml/expressir
|
366
367
|
changelog_uri: https://github.com/lutaml/expressir/releases
|
367
|
-
post_install_message:
|
368
|
+
post_install_message:
|
368
369
|
rdoc_options: []
|
369
370
|
require_paths:
|
370
371
|
- lib
|
@@ -375,15 +376,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
375
376
|
version: '2.7'
|
376
377
|
- - "<"
|
377
378
|
- !ruby/object:Gem::Version
|
378
|
-
version: 3.
|
379
|
+
version: 3.3.dev
|
379
380
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
380
381
|
requirements:
|
381
382
|
- - ">="
|
382
383
|
- !ruby/object:Gem::Version
|
383
384
|
version: '0'
|
384
385
|
requirements: []
|
385
|
-
rubygems_version: 3.3.
|
386
|
-
signing_key:
|
386
|
+
rubygems_version: 3.3.26
|
387
|
+
signing_key:
|
387
388
|
specification_version: 4
|
388
389
|
summary: ISO EXPRESS parser and tools in Ruby.
|
389
390
|
test_files: []
|