appleseedlab / superc

The SuperC Parsing Framework
24 stars 4 forks source link

Look into the least common ancestor algorithm when merging subparsers #157

Open paulgazz opened 3 years ago

paulgazz commented 3 years ago

There may be a bug in an optimization that attempts to avoid inserting static conditional nodes around shared semantic values by computing the least common ancestor of mergeable subparsers. This wouldn't affect correctness, but could cause additional static conditional nodes to be inserted when not needed.

Should be fixable in the subparser merge function by moving the StackFrame s = ... into the for loop below it.