.de L \" literal font .ft 5 .it 1 }N .if !\\$1 \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 .. .de LR .}S 5 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" .. .de RL .}S 1 5 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" .. .de EX \" start example .ta 1i 2i 3i 4i 5i 6i .PP .RS .PD 0 .ft 5 .nf .. .de EE \" end example .fi .ft .PD .RE .PP .. .TH AST 3 .SH NAME expr \- c-like expression library .SH SYNOPSIS .EX #include Expr_t* exopen(Exdisc_t*); Excc_t* exccopen(Expr_t*, Exccdisc_t*); int exccclose(Excc_t*); void exclose(Expr_t*, int); char* excontext(Expr_t*, char*, int); void exerror(const char*, ...); Extype_t exeval(Expr_t*, Exnode_t*, void*); Exnode_t* exexpr(Expr_t*, const char*, Exid_t*, int); Exnode_t* excast(Expr_t*, Exnode_t*, int, Exnode_t*, int); Exnode_t* exnewnode(Expr_t*, int, int, int, Exnode_t*, Exnode_t*); void exfreenode(Expr_t*, Exnode_t*); int expush(Expr_t*, const char*, int, const char*, FILE*); int expop(Expr_t*); int excomp(Expr_t*, const char*, int, const char*, FILE*); int extoken(Expr_t*); char* extype(long int); Extype_t exzero(long int); .EE .SH DESCRIPTION exopen() is the first function called. exclose() is the last function called. exccopen() is the called if code generation will be used. exccclose() releases the state information allocated in exccopen(). .SH "SEE ALSO"