rascal icon indicating copy to clipboard operation
rascal copied to clipboard

Aliases not supported in concrete patterns

Open rodinaarssen opened this issue 1 year ago • 0 comments

Describe the bug

Aliases of syntactic or lexical definitions are not supported in concrete patterns, when used as the type of a pattern and when used the type of a fragment.

To Reproduce

rascal>syntax A = "a";
ok
rascal>alias AA = A;
ok
rascal>parse(#AA, "a")
A: (A) `a`
rascal>(AA)`a`
|prompt:///|(0,7,<1,0>,<1,7>):Undeclared non-terminal: AA in module $GENERATED_PARSER$1080312658
Advice: |https://www.rascal-mpl.org/docs/Rascal/Errors/CompileTimeErrors/UndeclaredNonTerminal|
|prompt:///|(0,7,<1,0>,<1,7>):Undeclared non-terminal: AA in module $GENERATED_PARSER$1080312658
Advice: |https://www.rascal-mpl.org/docs/Rascal/Errors/CompileTimeErrors/UndeclaredNonTerminal|
|prompt:///|(0,7,<1,0>,<1,7>): Parse error in concrete syntax fragment
Advice: |https://www.rascal-mpl.org/docs/Rascal/Errors/CompileTimeErrors/SyntaxError|
ok
rascal>syntax B = A;
ok
rascal>if ((B)`<AA _>` := (B)`a`) println("hi");
|prompt:///|(5,11,<1,5>,<1,6>):parse error in concrete syntax: |prompt:///|(5,11,<1,5>,<1,6>)
|prompt:///|(5,11,<1,5>,<1,6>):parse error in concrete syntax: |prompt:///|(5,11,<1,5>,<1,6>)
|prompt:///|(4,11,<1,4>,<1,15>): Parse error in concrete syntax fragment
Advice: |https://www.rascal-mpl.org/docs/Rascal/Errors/CompileTimeErrors/SyntaxError|
ok

Desktop (please complete the following information):

  • Context: VS Code plugin
  • Rascal Version: 0.34.1

rodinaarssen avatar Jun 07 '24 13:06 rodinaarssen