Skip to content

Draft: Fix parsing and unparsing of expressions

finesse importer requested to merge fix/nary-expressions into develop

Blocked by #465 (closed).

Fixes #459 (closed), and fuzzing tests that were marked to be skipped in bfa9a949 (see #455 (closed)).

The eager simplification of expressions implemented in #455 (closed) broke unparsing, which expects unary or binary expressions in Finesse symbolic expressions only. Now the parser and unparser handle N-ary expressions.

There other test marked as xfail in bfa9a949 still fails, but I think this is a bug with the symbolic simplification so I'll open a separate issue for that.

Still to-do:

  • Get rid of eager evaluation in compiler now that it's done during simplification (makes regeneration easier too)
Edited by finesse importer

Merge request reports