Closed richardpawson closed 2 months ago
Passing to Stef. All work on this so far is in branch dotChainProgressively
1) Several existing parse nodes have been renamed - but all tests are passing
2) There is a new parallel hierarchy with root ExprNode2
that is eventually to replace ExprNode
. ExprNode2
is tested to parse all existing tests for ExprNode
and new ones which involve more chaining.
3) ExprNode2
is dependent on both existing parse nodes and new ones, the latter either intended ultimately to replace existing (e.g. Term2
, MethodCall2
) or are brand new. Of the latter, many are just implementations of AbstractAlternatives
and so have no impact on the AST model. Others that do impact the AST are:
ReferenceNode TermChained
which are key, and DotBefore DotAfter
which are simple.
4) There is a lot of scope for clean up of other (e.g. of varRefNode
varRefCompound
procRef
and anything else that previously used 'qualifiers' and which should now use the new new constructs - but I think the first stage is to get the new structure for expressions working.
This is the proposed new model in EBNF like representation, using the actual parse node names: