PC_graph/main.c
2024-10-13 19:32:55 +02:00

38 lines
835 B
C

#include <stdio.h>
#include <stdlib.h>
#include "lex.h"
#include "parser.h"
int main(int argc, char *argv[]) {
struct lexer *lex;
struct expr_node *node;
if (argc < 2) {
printf("Usage: %s <expression>\n", argv[0]);
return 1;
}
/*
//struct lexer *lex = lex_create("x* sin (x ^ 2) * 5.5e+2* cosh (x )");
//struct lexer *lex = lex_create("-1 + -2 - 3 + 4");
*/
lex = lex_create(argv[1]);
node = parse_expression(lex);
lex_free(lex);
if (node) {
double x;
node_debug_print(node);
printf("polygon(");
for (x = -10.0; x < 10.0; x += 0.1) {
printf("(%.2f,%.2f),", x, node_eval(node, x));
}
printf("(10, -1000),(-10,-1000))\n");
}
node_free(node);
return 0;
}