mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-28 01:59:59 +01:00
This will be the reference version from now on. Note that the error was about a missing declaration of yyscan_t, which we really don't need to care about, and that we can simply replace by "void *". Change-Id: I2294a8cc8bcb4a426019a5ebc6cf83b28d4bae1a
21 lines
609 B
C++
21 lines
609 B
C++
#include <poincare/expression.h>
|
|
#include "expression_parser.hpp"
|
|
#include "expression_lexer.hpp"
|
|
|
|
int poincare_expression_yyparse(yyscan_t scanner, Expression ** expressionOutput);
|
|
|
|
Expression * Expression::parse(char * string) {
|
|
void * scanner;
|
|
poincare_expression_yylex_init(&scanner);
|
|
YY_BUFFER_STATE buf = poincare_expression_yy_scan_string(string, scanner);
|
|
Expression * expression = 0;
|
|
poincare_expression_yyparse(scanner, &expression);
|
|
poincare_expression_yy_delete_buffer(buf, scanner);
|
|
poincare_expression_yylex_destroy(scanner);
|
|
|
|
return expression;
|
|
}
|
|
|
|
Expression::~Expression() {
|
|
}
|