PN_AST2            74 core/syntax.y         ( assign s:sets       { e = PN_AST2(ASSIGN, e, s) }
PN_AST2            75 core/syntax.y         | defassign s:value   { e = PN_AST2(ASSIGN, e, s) }
PN_AST2            76 core/syntax.y         | or assign s:sets    { e = PN_AST2(ASSIGN, e, PN_OP(AST_OR, e, s)) }
PN_AST2            77 core/syntax.y         | and assign s:sets   { e = PN_AST2(ASSIGN, e, PN_OP(AST_AND, e, s)) }
PN_AST2            78 core/syntax.y         | pipe assign s:sets  { e = PN_AST2(ASSIGN, e, PN_OP(AST_PIPE, e, s)) }
PN_AST2            79 core/syntax.y         | caret assign s:sets { e = PN_AST2(ASSIGN, e, PN_OP(AST_CARET, e, s)) }
PN_AST2            80 core/syntax.y         | amp assign s:sets   { e = PN_AST2(ASSIGN, e, PN_OP(AST_AMP, e, s)) }
PN_AST2            81 core/syntax.y         | bitl assign s:sets  { e = PN_AST2(ASSIGN, e, PN_OP(AST_BITL, e, s)) }
PN_AST2            82 core/syntax.y         | bitr assign s:sets  { e = PN_AST2(ASSIGN, e, PN_OP(AST_BITR, e, s)) }
PN_AST2            83 core/syntax.y         | plus assign s:sets  { e = PN_AST2(ASSIGN, e, PN_OP(AST_PLUS, e, s)) }
PN_AST2            84 core/syntax.y         | minus assign s:sets { e = PN_AST2(ASSIGN, e, PN_OP(AST_MINUS, e, s)) }
PN_AST2            85 core/syntax.y         | times assign s:sets { e = PN_AST2(ASSIGN, e, PN_OP(AST_TIMES, e, s)) }
PN_AST2            86 core/syntax.y         | div assign s:sets   { e = PN_AST2(ASSIGN, e, PN_OP(AST_DIV, e, s)) }
PN_AST2            87 core/syntax.y         | rem assign s:sets   { e = PN_AST2(ASSIGN, e, PN_OP(AST_REM, e, s)) }
PN_AST2            88 core/syntax.y         | pow assign s:sets   { e = PN_AST2(ASSIGN, e, PN_OP(AST_POW, e, s)) })?
PN_AST2           151 core/syntax.y           { $$ = PN_AST2(MSG, PN_extern, PN_PUSH(PN_TUP(n), P->source)) }
PN_AST2           153 core/syntax.y           { $$ = PN_AST2(MSG, PN_extern, PN_TUP(n)) }
PN_AST2           170 core/syntax.y            | m:msg - v:loose { $$ = PN_AST2(LICK, m, v) }
PN_AST2           177 core/syntax.y  closure = t:list? b:block { $$ = PN_AST2(PROTO, t, b) }
PN_AST2           182 core/syntax.y  tuple = m:msg l:lick  { $$ = PN_AST2(LICK, PN_AST(MSG, m), l) }