4 #define PRINT_ABS(t) {\
5 if(t->data.abstraction.strict)\
7 printf("%s", t->data.abstraction.ident);\
11 void term_print(struct lambda
*t
, struct lambda
*mark
)
17 printf("%s", t
->data
.identifier
.ident
);
22 while((t
= t
->data
.abstraction
.expr
)->which
== lambda_abs
){
30 if(t
->data
.application
.expr1
->which
== lambda_abs
)
32 term_print(t
->data
.application
.expr1
, mark
);
33 if(t
->data
.application
.expr1
->which
== lambda_abs
)
38 if(t
->data
.application
.expr2
->which
== lambda_abs
)
40 term_print(t
->data
.application
.expr2
, mark
);
41 if(t
->data
.application
.expr2
->which
== lambda_abs
)
49 void lambda_print(struct lambda
*t
, struct lambda
*mark
)