diff --git a/parser.c b/parser.c index f7a9404..b5a6b93 100644 --- a/parser.c +++ b/parser.c @@ -74,8 +74,8 @@ static void error_expected_tokens(struct parser *parser, size_t num_tokens, ...) lex_print_position(&parser->lexer, &parser->eb); } -static struct expr_node* parse_subexpression(struct parser *parser); -int parse_n_expressions(struct parser *parser, struct expr_node **out_nodes, size_t n); +static struct expr_node* parse_expression(struct parser *parser); +static int parse_n_expressions(struct parser *parser, struct expr_node **out_nodes, size_t n); static struct expr_node* parse_bracketed(struct parser *parser) { struct expr_node* node; @@ -85,7 +85,7 @@ static struct expr_node* parse_bracketed(struct parser *parser) { return NULL; } - if (!(node = parse_subexpression(parser))) + if (!(node = parse_expression(parser))) return NULL; if (!accept_token(parser, TOK_RIGHT_PAREN)) { @@ -97,7 +97,7 @@ static struct expr_node* parse_bracketed(struct parser *parser) { return node; } -static struct expr_node *parse_base(struct parser *parser) { +static struct expr_node *parse_factor(struct parser *parser) { struct expr_node *node; if (token_is(parser, TOK_NUMBER)) { @@ -163,10 +163,10 @@ static struct expr_node *parse_base(struct parser *parser) { static struct expr_node *parse_unary(struct parser *parser); -static struct expr_node *parse_factor(struct parser *parser) { +static struct expr_node *parse_power(struct parser *parser) { struct expr_node* node, * new_node, * inner; - if (!(node = parse_base(parser))) + if (!(node = parse_factor(parser))) return NULL; if (accept_token(parser, TOK_POWER)) { @@ -192,7 +192,7 @@ static struct expr_node* parse_unary(struct parser *parser) { if (accept_token(parser, TOK_MINUS)) { struct expr_node *node, *inner; - if (!(inner = parse_factor(parser))) + if (!(inner = parse_power(parser))) return NULL; if (!(node = node_create_neg(inner))) { @@ -205,7 +205,7 @@ static struct expr_node* parse_unary(struct parser *parser) { } accept_token(parser, TOK_PLUS); - return parse_factor(parser); + return parse_power(parser); } static struct expr_node *parse_term(struct parser *parser) { @@ -242,7 +242,7 @@ static struct expr_node *parse_term(struct parser *parser) { return node; } -static struct expr_node *parse_subexpression(struct parser *parser) { +static struct expr_node *parse_expression(struct parser *parser) { struct expr_node *node, *new_node, *inner; if (!(node = parse_term(parser))) @@ -276,12 +276,12 @@ static struct expr_node *parse_subexpression(struct parser *parser) { return node; } -int parse_n_expressions(struct parser *parser, struct expr_node **out_nodes, size_t n) { +static int parse_n_expressions(struct parser *parser, struct expr_node **out_nodes, size_t n) { size_t i; for (i = 0; i < n; ++i) { struct expr_node *node; - if (!(node = parse_subexpression(parser))) + if (!(node = parse_expression(parser))) break; out_nodes[i] = node; diff --git a/ps_graph.h b/ps_graph.h index 92774ae..2c0631f 100644 --- a/ps_graph.h +++ b/ps_graph.h @@ -9,6 +9,6 @@ struct graph_range { double ymin, ymax; }; -extern void ps_generate_graph(FILE *file, const struct expr_node *node, const struct graph_range *range, const char *function); +void ps_generate_graph(FILE *file, const struct expr_node *node, const struct graph_range *range, const char *function); #endif \ No newline at end of file