Skip to content

Refactor the parser code for handing parameters and references

finesse importer requested to merge refactor-parser into master

Making this an MR in case we need to quickly unmerge it due to various changes in the speedup branch etc...

Now parameters like l1.P are explicitly identified as parameters in the lexer. They along with references like &l1.P are then built into closure classes. These use two different closure classes so that the _resolve_parameters() function in parser.py does not try to resolve closures for references.

Added and updated tests to handle this parsing, and fixed some tests that used references in actions when they should have used parameters.

Merge request reports