Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
expression.cpp File Reference
#include "expression.h"
#include "peglib.h"
#include <QByteArray>
#include <QString>
#include <QtMath>
#include <functional>
Include dependency graph for expression.cpp:

Variables

peg::parser math (R"( EXPRESSION <- P0 P0 <- P1 (P1_OPERATOR P1)* P1 <- P2 (P2_OPERATOR P2)* P2 <- P3 (P3_OPERATOR P3)* P3 <- NUMBER / FUNCTION / VARIABLE / '(' P0 ')' P1_OPERATOR <- < [-+] > P2_OPERATOR <- < [/*] > P3_OPERATOR <- < '^' > NUMBER <- < '-'? [0-9]+ > NAME <- < [a-z][a-z0-9]* > VARIABLE <- < [x] > FUNCTION <- NAME '(' EXPRESSION ( [,\n] EXPRESSION )* ')' %whitespace <- [ \t\r]* )")
QMap< QString, std::function< double(double)> > * default_functions = nullptr

Variable Documentation

◆ default_functions

QMap<QString, std::function<double(double)> >* default_functions = nullptr

◆ math

peg::parser math(R"( EXPRESSION <- P0 P0 <- P1 (P1_OPERATOR P1)* P1 <- P2 (P2_OPERATOR P2)* P2 <- P3 (P3_OPERATOR P3)* P3 <- NUMBER / FUNCTION / VARIABLE / '(' P0 ')' P1_OPERATOR <- < [-+] > P2_OPERATOR <- < [/*] > P3_OPERATOR <- < '^' > NUMBER <- < '-'? [0-9]+ > NAME <- < [a-z][a-z0-9]* > VARIABLE <- < [x] > FUNCTION <- NAME '(' EXPRESSION ( [,\n] EXPRESSION )* ')' %whitespace <- [ \t\r]* )") ( R"( EXPRESSION <- P0 P0 <- P1 (P1_OPERATOR P1)* P1 <- P2 (P2_OPERATOR P2)* P2 <- P3 (P3_OPERATOR P3)* P3 <- NUMBER / FUNCTION / VARIABLE / '(' P0 ')' P1_OPERATOR <- < [-+] > P2_OPERATOR <- < [/*] > P3_OPERATOR <- < '^' > NUMBER <- < '-'? [0-9]+ > NAME <- < [a-z][a-z0-9]* > VARIABLE <- < [x] > FUNCTION <- NAME '(' EXPRESSION ( [,\n] EXPRESSION )* ')' %whitespace <- [ \t\r]* )" )