Commit graph

21 commits

Author SHA1 Message Date
eileencodes
2bc243b3dc [YARP] Implement regex flags
This fixes the TODO in the code that was passing 0 instead of the regex
flags.
2023-09-27 11:25:53 -04:00
Jemma Issroff
2000cf9183
[YARP] Implemented BlockArgumentNode (#8499) 2023-09-27 11:08:54 -04:00
Yusuke Endoh
55a297c840 Prevent warnings: "unused literal ignored"
The test emits many warnings under `RUBYOPT=-w`

```
[22699/26146] YARP::CompilerTest#test_FloatNode<compiled>:1: warning: unused literal ignored
<compiled>:1: warning: unused literal ignored
<compiled>:1: warning: unused literal ignored
<compiled>:1: warning: unused literal ignored
 = 0.00 s
```
2023-09-26 16:42:47 +09:00
Nobuyoshi Nakada
c8c35ded74
[YARP] Suppress constant redefinition warning
```
<compiled>:1: warning: already initialized constant Bar
test/yarp/compiler_test.rb:139: warning: previous definition of Bar was here
```
2023-09-22 19:41:52 +09:00
Matt Valentine-House
bf129370d3 [YARP] Implement ConstantPathTargetNode
Co-Authored-By: kddnewton <kevin.newton@shopify.com>
2023-09-21 23:00:49 +01:00
Jemma Issroff
a7b3217fff
[YARP] Add tests for popped instructions (#8494) 2023-09-21 15:28:08 -04:00
Matt Valentine-House
7dee7e6116 [YARP] Implement GlobalVariableTargetNode 2023-09-19 19:52:32 +01:00
Matt Valentine-House
5c5391f444 [YARP] Implement ClassVariableTargetNode 2023-09-19 14:54:15 +01:00
Matt Valentine-House
2f8daa5f51 [YARP] Implement InstanceVariableTargetNode, LocalVariableTargetNode 2023-09-19 14:53:58 +01:00
Matt Valentine-House
91b10c0b77 [YARP] Implement ConstantTargetNode 2023-09-19 14:53:39 +01:00
Jemma Issroff
54e676a88b
[YARP] Restructure tests to compare YARP evaluation to CRuby evaluation (#8467)
Previously, we were hardcoding the expected evaluation value. Now,
instead, we structure it so that we compare the YARP evaluation value
against CRuby's evaluation value.
2023-09-18 12:34:20 -04:00
Jemma Issroff
7fc4db35ee
[YARP] Implement compilation for RationalNodes, fix other num types (#8404) 2023-09-08 15:33:51 -04:00
Jemma Issroff
af5df9ee5e
[YARP] Implement compilation for Regex / InterpolatedRegex (#8396) 2023-09-08 12:09:30 -04:00
Jemma Issroff
8807b0dc96
[YARP] Implement compilation for InterpolatedXStringNode (#8395)
* [YARP] Implemented compilation for InterpolatedXStringNode

* Extract common function for interpolated nodes
2023-09-08 10:40:07 -04:00
Jemma Issroff
7adc38b895
[YARP] Miscellaneous small bug fixes (#8387) 2023-09-07 10:59:51 -04:00
Jemma Issroff
ae96232161
[YARP] Fix warning on compiling constant test (#8377) 2023-09-05 17:29:32 -04:00
Yusuke Endoh
5b146eb5a1 Prevent "ambiguous first argument" warnings
```
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:16: warning: ambiguous first argument; put parentheses or a space even after `+' operator
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:17: warning: ambiguous first argument; put parentheses or a space even after `-' operator
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:28: warning: ambiguous first argument; put parentheses or a space even after `+' operator
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:29: warning: ambiguous first argument; put parentheses or a space even after `-' operator
```

20230905T063003Z.log.html.gz
2023-09-05 17:35:28 +09:00
Jemma Issroff
95308988b6
[YARP] Implement Compiling for And / Or / Operator Write Nodes (#8352) 2023-09-01 14:20:03 -07:00
Jemma Issroff
36786cc381
[YARP] Compile ProgramNode as ScopeNode (#8327)
* [YARP] Compile ProgramNode as ScopeNode
2023-08-30 14:30:42 -07:00
Jemma Issroff
f1790fa4e7
[YARP] Fix variables in compilation (#8326)
* [YARP] Fixed several popped instructions

* [YARP] Correctly compiling class path
2023-08-30 14:26:22 -07:00
Kevin Newton
455153705c Tests for the YARP compiler 2023-08-29 15:53:25 -04:00