3 .ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
4 .if !
\a\\$4
\a\a .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
7 .ie
\a\\$3
\a\a .ft \\$1
11 .Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
16 .aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
19 .aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
22 .aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
24 .de EX \" start example
41 streval \- long integer arithmetic expression evaluator
43 .L "long streval(char* s, char** e, long (*conv)(char* cs, char** ce))"
46 evaluates the long integer arithmetic expression in the nul-terminated string
48 and returns the result.
53 is set to point to the first unknown character in the expression.
57 is not 0 then it is called when an unknown token is encountered in
60 points to the beginning of the unknown token.
61 The return value is the long integer value of the unknown token and
63 must be set to point to the first character after the unknown token.
64 If an expression syntax error is encountered the
70 pointing to the error message text.
72 In addition to the normal C expressions and integer constant styles,
78 where the extra digits in