rascal
rascal copied to clipboard
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
Previously, error recovery was only triggered when no more active stacks where left. This PR improves on this by also triggering recovery when only recovery stacks are left.
This is a feature-tracking PR, will remain draft while we are working on the error recovery feature. Other smaller PRs will target this branch, and when ready we can merge...
**Describe the bug** ``` rascal>data C = c(); ok rascal>data B = and(B,B) | or(C, C) | d(); |prompt:///|(20,8,,): The field name arg1 is illegally used for both C and...
experimental HiFi tree diff algorithm for use with quick-fixes and refactoring commands in the IDE
This transforms a pair of parse Trees to a list[TextEdit]s. The resulting TextEdits are ready for use in VScode extensions via LSP features in util::LanguageServer and util::IDEServices. The single pass...
**Describe the bug** ```rascal module Example private set[int] numbers; public void initialize() { numbers = {}; } public void do() { numbers += { 5 }; } public void main(list[str]...
**Describe the bug** ```rascal rascal>import IO; ok rascal>exists(|http://this.does.not|) bool: true ```
The `parse` function has an extra parameter in case the origin was not the same as the input location. But the origin was never properly passed on.
**Describe the bug** This is not ambiguous: ``` if ( // /0 := [1,2,3] /0 !:= [1,2,3] ) { println("foo"); } else { println("bar"); } ``` But, this is ambiguous:...
When a Rascal program uses common keyword parameters in a data definition, the debugger will always stop on the line containing the common parameters when code is executed where an...
**Describe the bug** Some programs like `mvn package` print this on the command prompt after exit: `;1R;3R` That is probably a response to the line column retrieval command that comes...