Skip to content

Commit 019c31b

Browse files
committed
Upstream sync, remove custom lexer
We no longer need a lexer, since method_ref is implemented via text rewriter
1 parent 60ec49a commit 019c31b

File tree

15 files changed

+159
-30527
lines changed

15 files changed

+159
-30527
lines changed

.dockerdev/compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
version: '2.4'
2-
31
services:
42
app:
53
image: parser-dev:2.0

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
ruby: ["3.0.7", "3.1.6", "3.2.6", "3.3.6", "jruby-9.2"]
20+
ruby: ["3.0.7", "3.1.6", "3.2.6", "3.3.6", "3.4.1", "jruby-9.2"]
2121
test_command: ["bundle exec rake test"]
2222
include:
2323
- ruby: "head"

Rakefile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ GENERATED_FILES = %w(lib/parser/lexer-F0.rb
4040
lib/parser/ruby34.rb
4141
lib/parser/macruby.rb
4242
lib/parser/rubymotion.rb
43-
lib/parser/rubynext.rb
44-
lib/parser/ruby-next/lexer-F0.rb
45-
lib/parser/ruby-next/lexer-F1.rb)
43+
lib/parser/rubynext.rb)
4644

4745
CLEAN.include(GENERATED_FILES)
4846

@@ -165,13 +163,15 @@ file 'lib/parser/lexer-F0.rb' => 'lib/parser/lexer.rl' do |t|
165163
sh "ragel -F0 -R #{t.source} -o #{t.name}"
166164
end
167165

168-
file 'lib/parser/ruby-next/lexer-F1.rb' => 'lib/parser/ruby-next/lexer.rl' do |t|
169-
sh "ragel -F1 -R #{t.source} -o #{t.name}"
170-
end
166+
# Custom lexer generation for RubyNext
167+
#
168+
# file 'lib/parser/ruby-next/lexer-F1.rb' => 'lib/parser/ruby-next/lexer.rl' do |t|
169+
# sh "ragel -F1 -R #{t.source} -o #{t.name}"
170+
# end
171171

172-
file 'lib/parser/ruby-next/lexer-F0.rb' => 'lib/parser/ruby-next/lexer.rl' do |t|
173-
sh "ragel -F0 -R #{t.source} -o #{t.name}"
174-
end
172+
# file 'lib/parser/ruby-next/lexer-F0.rb' => 'lib/parser/ruby-next/lexer.rl' do |t|
173+
# sh "ragel -F0 -R #{t.source} -o #{t.name}"
174+
# end
175175

176176
file 'lib/parser/lexer-strings.rb' => 'lib/parser/lexer-strings.rl' do |t|
177177
sh "ragel -F0 -R #{t.source} -o #{t.name}"

lib/parser/ruby-next/AST_FORMAT.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
Ruby Next AST format additions
22
=======================
33

4-
### Method reference operator
4+
### Pattern matching non-local variables
55

66
Format:
77

88
~~~
9-
(meth-ref (self) :foo)
10-
"self.:foo"
11-
^^ dot
12-
^^^ selector
13-
^^^^^^^^^ expression
9+
(in_pattern
10+
(match_as
11+
(int 1),
12+
(match_var (ivar :@a))))
13+
14+
"in 1 => @a then true"
15+
~~~
16+
17+
~~~
18+
(in_pattern
19+
(match_as
20+
(int 1),
21+
(match_var (gvar :$a))))
22+
23+
"in 1 => $a then true"
1424
~~~

lib/parser/ruby-next/ast/processor.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66
module Parser
77
module AST
88
class Processor
9-
def on_meth_ref(node)
10-
node
11-
end
9+
# Define new node callbacks here
10+
#
11+
# def on_meth_ref(node)
12+
# node
13+
# end
1214
end
1315
end
1416
end

lib/parser/ruby-next/builder.rb

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,6 @@
66
module Parser
77
# Add RubyNext specific builder methods
88
module Builders::Next
9-
def method_ref(receiver, dot_t, selector_t)
10-
n(:meth_ref, [ receiver, value(selector_t).to_sym ],
11-
send_map(receiver, dot_t, selector_t, nil, [], nil))
12-
end
13-
149
def match_var(var)
1510
return super(var) unless var.is_a?(::Parser::AST::Node)
1611

0 commit comments

Comments
 (0)