79 lines
5.6 KiB
C
79 lines
5.6 KiB
C
#ifndef BISON_ACTIONS_HEADER
|
|
#define BISON_ACTIONS_HEADER
|
|
|
|
#include "../../backend/support/shared.h"
|
|
|
|
Program * ProgramGrammarAction(Statement * statement);
|
|
Statement * StatementEvaluateGrammarAction(Evaluate * evaluate);
|
|
Statement * StatementIntegrateGrammarAction(Integrate * integrate);
|
|
Statement * StatementDerivativeGrammarAction(Derivative * derivative);
|
|
Statement * StatementIfGrammarAction(If * if_st);
|
|
Statement * StatementForGrammarAction(For * for_st);
|
|
Statement * StatementWhileGrammarAction(While * while_st);
|
|
Statement * StatementPrintGrammarAction(Print * print);
|
|
Statement * StatementDeclareFunctionGrammarAction(Function * function);
|
|
Statement * StatementAssignVariableGrammarAction(AssignVariable * variable);
|
|
Statement * StatementDeclareVariableGrammarAction(Variable * variable);
|
|
Statement * StatementsGrammarAction(Statement * stat1, Statement * stat2);
|
|
Expression * ExpressionOperatorAddGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Expression * ExpressionOperatorSubGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Expression * ExpressionOperatorMulGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Expression * ExpressionOperatorDivGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Expression * ExpressionOperatorPowGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Expression * ExpressionEvaluateGrammarAction(Evaluate * evaluate);
|
|
Expression * ExpressionDerivativeGrammarAction(Derivative * derivative);
|
|
Expression * ExpressionIntegrateGrammarAction(Integrate * integrate);
|
|
Expression * ExpressionPositiveConstantGrammarAction(double value);
|
|
Expression * ExpressionNegativeGrammarAction(Expression * exp);
|
|
Expression * ExpressionParenthesisGrammarAction(Expression * exp);
|
|
Expression * ExpressionIdGrammarAction(char * id);
|
|
Expression * ExpressionsGrammarAction(Expression * exp1, Expression * exp2);
|
|
Domain * DomainGreaterOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Domain * DomainLesserOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Domain * DomainLesserEqualOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Domain * DomainGreaterEqualOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Domain * DomainEqualOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Domain * DomainNotEqualOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression);
|
|
Domain * DomainLesserLesserOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression, Expression * thirdExpression);
|
|
Domain * DomainLesserEqualLesserOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression, Expression * thirdExpression);
|
|
Domain * DomainLesserLesserEqualOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression, Expression * thirdExpression);
|
|
Domain * DomainLesserEqualLesserEqualOperatorGrammarAction(Expression * firstExpression, Expression * secondExpression, Expression * thirdExpression);
|
|
Boolean * BooleanDomainGrammarAction(Domain * domain);
|
|
Boolean * BooleanAndGrammarAction(Boolean * left, Boolean * right);
|
|
Boolean * BooleanOrGrammarAction(Boolean * left, Boolean * right);
|
|
Boolean * NotBooleanAction(Boolean * notBoolean);
|
|
Boolean * BooleanGrammarAction(Boolean * boolen);
|
|
Function * DeclareFunctionGrammarAction(char * id, Function * func);
|
|
Function * FunctionsGrammarAction(Function * func1, Function * func2);
|
|
Function * CompositeFunctionGrammarAction(Composite * composite);
|
|
Function * ExpressionFunctionGrammarAction(Expression * expression);
|
|
Function * ExpressionDomainFunctionGrammarAction(Expression * expression, Domain * domain);
|
|
Composite * CompositeIdGrammarAction(char * id1, char * id2);
|
|
Composite * CompositeCompGrammarAction(char * id, Composite * composite);
|
|
Print * PrintExpressionGrammarAction(Expression * expression);
|
|
Print * PrintStringGrammarAction(char * string);
|
|
If * IfBlockGrammarAction(Boolean * boolean, Block * block);
|
|
If * IfElseBlockGrammarAction(Boolean * boolean, Block * block, Block * else_block);
|
|
While * WhileBlockGrammarAction(Boolean * boolean, Block * block);
|
|
For * ForBlockGrammarAction(Variable * init_variable, Boolean * boolean, AssignVariable * action_variable, Block * block);
|
|
For * ForBlockNoVarGrammarAction(Boolean * boolean, AssignVariable * action_variable, Block * block);
|
|
Block * BlockGrammarAction(Statement * statement);
|
|
Derivative * SimpleDerivativeGrammarAction(char * id, Expression * expression);
|
|
Derivative * GradedDerivativeGrammarAction(int grade, char * id, Expression * expression);
|
|
Integrate * IntegrateGrammarAction(char * id, Expression * lExp, Expression * rExp);
|
|
Integrate * ErroredIntegrateGrammarAction(Integrate * integrate, double error);
|
|
Evaluate * EvaluateGrammarAction(char * id, Expression * expression);
|
|
AssignVariable * AssignVariableAddGrammarAction(char * id, Expression * expression);
|
|
AssignVariable * AssignVariableSubGrammarAction(char * id, Expression * expression);
|
|
AssignVariable * AssignVariableMulGrammarAction(char * id, Expression * expression);
|
|
AssignVariable * AssignVariableDivGrammarAction(char * id, Expression * expression);
|
|
AssignVariable * AssignVariableIncGrammarAction(char * id);
|
|
AssignVariable * AssignVariableDecGrammarAction(char * id);
|
|
AssignVariable * AssignVariableGrammarAction(char * id, Expression * expression);
|
|
Variable * DeclareVariableGrammarAction(char * id);
|
|
Variable * DeclareValuedVariableGrammarAction(char * id, Expression * expression);
|
|
char * EscapedStringGrammarAction(char * str);
|
|
char * EscapedStringsGrammarAction(char * str1, char * str2);
|
|
|
|
#endif
|