Open rebcabin opened 1 year ago
I could, as a workaround, make node*
a type alias for term*
. In that case, the following would be legal:
(def tu (TranslationUnit
(SymbolTable 42 {})
[Eq])
because Eq
is a cmpop
, thus an expr
, thus a term
, thus a node
; and [Eq]
is an expr*
, thus a term*
, thus a node*
.
Such an expression as tu
does not seem intentionally legal. Without further refinement of the type node*
as requested in this issue, I cannot eliminate tu
.
The ASDL spec for
TranslationUnit
saysnode*
Surely not all nodes are allowed. Can it be
Function
,Program
, etc., i.e., whats the actual list of allowed nodes at this level?