Skip to content
Snippets Groups Projects
Commit cb6e03d9 authored by Miloslav Metelka's avatar Miloslav Metelka
Browse files

[GR-7298] Parser error in x ~~~ q.

PullRequest: fastr/1513
parents 5a91d029 76dfeff3
No related branches found
No related tags found
No related merge requests found
......@@ -408,7 +408,7 @@ tilde_expr returns [T v]
;
utilde_expr returns [T v]
: op=TILDE n_ l=or_expr { $v = builder.call(src($op, last()), operator($op), $l.v); }
: op=TILDE n_ l=utilde_expr { $v = builder.call(src($op, last()), operator($op), $l.v); }
| l=or_expr { $v = $l.v; }
;
......
......@@ -76288,6 +76288,98 @@ Error in tempfile(integer()) : invalid filename pattern
#x ~ y + z
x ~ y + z
 
##com.oracle.truffle.r.test.builtins.TestBuiltin_tilde.testTildeDirect#
#y <- x ~ q; str(y); list(y[[1]], y[[2]], y[[3]])
Class 'formula' language x ~ q
..- attr(*, ".Environment")=<environment: R_GlobalEnv>
[[1]]
`~`
[[2]]
x
[[3]]
q
##com.oracle.truffle.r.test.builtins.TestBuiltin_tilde.testTildeDirect#
#y <- x ~~ q; str(y); list(y[[1]], y[[2]], y[[3]], y[[3]][[1]], y[[3]][[2]])
Class 'formula' language x ~ ~q
..- attr(*, ".Environment")=<environment: R_GlobalEnv>
[[1]]
`~`
[[2]]
x
[[3]]
~q
[[4]]
`~`
[[5]]
q
##com.oracle.truffle.r.test.builtins.TestBuiltin_tilde.testTildeDirect#
#y <- x ~~~ q; str(y); list(y[[1]], y[[2]], y[[3]], y[[3]][[1]], y[[3]][[2]], y[[3]][[2]][[1]], y[[3]][[2]][[2]])
Class 'formula' language x ~ ~~q
..- attr(*, ".Environment")=<environment: R_GlobalEnv>
[[1]]
`~`
[[2]]
x
[[3]]
~~q
[[4]]
`~`
[[5]]
~q
[[6]]
`~`
[[7]]
q
##com.oracle.truffle.r.test.builtins.TestBuiltin_tilde.testTildeDirect#
#y <- x ~~~~ q; str(y); list(y[[1]], y[[2]], y[[3]], y[[3]][[1]], y[[3]][[2]], y[[3]][[2]][[1]], y[[3]][[2]][[2]], y[[3]][[2]][[2]][[1]], y[[3]][[2]][[2]][[2]])
Class 'formula' language x ~ ~~~q
..- attr(*, ".Environment")=<environment: R_GlobalEnv>
[[1]]
`~`
[[2]]
x
[[3]]
~~~q
[[4]]
`~`
[[5]]
~~q
[[6]]
`~`
[[7]]
~q
[[8]]
`~`
[[9]]
q
##com.oracle.truffle.r.test.builtins.TestBuiltin_tilde.testTildeDirect#
#y ~ 0 + x
y ~ 0 + x
......@@ -32,6 +32,10 @@ public class TestBuiltin_tilde extends TestBase {
@Test
public void testTildeDirect() {
assertEval("y <- x ~ q; str(y); list(y[[1]], y[[2]], y[[3]])");
assertEval("y <- x ~~ q; str(y); list(y[[1]], y[[2]], y[[3]], y[[3]][[1]], y[[3]][[2]])");
assertEval("y <- x ~~~ q; str(y); list(y[[1]], y[[2]], y[[3]], y[[3]][[1]], y[[3]][[2]], y[[3]][[2]][[1]], y[[3]][[2]][[2]])");
assertEval("y <- x ~~~~ q; str(y); list(y[[1]], y[[2]], y[[3]], y[[3]][[1]], y[[3]][[2]], y[[3]][[2]][[1]], y[[3]][[2]][[2]], y[[3]][[2]][[2]][[1]], y[[3]][[2]][[2]][[2]])");
assertEval("~ x + y");
assertEval("x ~ y + z");
assertEval("y ~ 0 + x");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment