1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #include "ast.h"
#include "symbols.h"
int main (int argc, char * argv[])
{
if (argc < 2) {
fprintf (stderr, "usage: %s 'code' [OPTIONS]\n", argv[0]);
return 1;
}
Ast * n = (Ast *) ast_parse (argv[1], NULL);
if (!n)
n = ast_parse_expression (argv[1], NULL);
if (!n) {
fprintf (stderr, "%s: error: could not parse code\n", argv[0]);
return 1;
}
if (argc > 2) {
ast_print_constructor (n, stderr, 0);
fputc ('\n', stderr);
}
else
ast_print_tree (n, stderr, 0, false, -1);
ast_destroy (n);
}
|