Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrappers to makeExpr #141

Merged
merged 4 commits into from
Aug 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions include/fintamath/functions/FunctionUtils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@
#include "fintamath/functions/FunctionArguments.hpp"
#include "fintamath/parser/Parser.hpp"

#define FINTAMATH_FUNCTION_EXPRESSION(Function, name) \
template <typename... Args> \
std::unique_ptr<IMathObject> name(Args &&...args) { \
static const Function f; \
return makeExpr(f, std::forward<Args>(args)...); \
}

namespace fintamath {

class IFunction;
Expand Down
2 changes: 2 additions & 0 deletions include/fintamath/functions/arithmetic/Abs.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Abs : public IFunctionCRTP<INumber, Abs, INumber> {
static std::unique_ptr<IMathObject> multiAbsSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Abs, absExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/arithmetic/Add.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Add : public IOperatorCRTP<IArithmetic, Add, IArithmetic, IArithmetic> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Add, addExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/arithmetic/Div.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,6 @@ class Div : public IOperatorCRTP<IArithmetic, Div, IArithmetic, IArithmetic> {
static std::unique_ptr<IMathObject> divSimplify(const Integer &lhs, const Integer &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Div, divExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/arithmetic/Mul.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Mul : public IOperatorCRTP<IArithmetic, Mul, IArithmetic, IArithmetic> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Mul, mulExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/arithmetic/Neg.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Neg : public IOperatorCRTP<IArithmetic, Neg, IArithmetic> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Neg, negExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/arithmetic/Sign.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Sign : public IFunctionCRTP<INumber, Sign, INumber> {
static std::unique_ptr<IMathObject> multiSignSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Sign, signExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/arithmetic/Sub.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Sub : public IOperatorCRTP<IArithmetic, Sub, IArithmetic, IArithmetic> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Sub, subExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/calculus/Derivative.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class Derivative : public IFunctionCRTP<IComparable, Derivative, IComparable, IC
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Derivative, derivativeExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/calculus/Integral.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class Integral : public IFunctionCRTP<IComparable, Integral, IComparable, ICompa
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Integral, integralExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/calculus/Max.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Max : public IFunctionCRTP<IComparable, Max, IComparable> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Max, maxExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/calculus/Min.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Min : public IFunctionCRTP<IComparable, Min, IComparable> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Min, minExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/comparison/Eqv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class Eqv : public IOperatorCRTP<Boolean, Eqv, IComparable, IComparable> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Eqv, eqvExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/comparison/Less.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class Less : public IOperatorCRTP<Boolean, Less, IComparable, IComparable> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Less, lessExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/comparison/LessEqv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class LessEqv : public IOperatorCRTP<Boolean, LessEqv, IComparable, IComparable>
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(LessEqv, lessEqvExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/comparison/More.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class More : public IOperatorCRTP<Boolean, More, IComparable, IComparable> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(More, moreExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/comparison/MoreEqv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class MoreEqv : public IOperatorCRTP<Boolean, MoreEqv, IComparable, IComparable>
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(MoreEqv, moreEqvExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/comparison/Neqv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class Neqv : public IOperatorCRTP<Boolean, Neqv, IComparable, IComparable> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Neqv, neqvExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Acosh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,6 @@ class Acosh : public IFunctionCRTP<INumber, Acosh, INumber> {
static std::unique_ptr<IMathObject> acoshSimplify(const Real &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Acosh, acoshExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Acoth.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,6 @@ class Acoth : public IFunctionCRTP<INumber, Acoth, INumber> {
static std::unique_ptr<IMathObject> acothSimplify(const Real &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Acoth, acothExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Asinh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Asinh : public IFunctionCRTP<INumber, Asinh, INumber> {
static std::unique_ptr<IMathObject> multiAsinhSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Asinh, asinhExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Atanh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,6 @@ class Atanh : public IFunctionCRTP<INumber, Atanh, INumber> {
static std::unique_ptr<IMathObject> atanhSimplify(const Real &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Atanh, atanhExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Cosh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Cosh : public IFunctionCRTP<INumber, Cosh, INumber> {
static std::unique_ptr<IMathObject> multiCoshSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Cosh, coshExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Coth.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Coth : public IFunctionCRTP<INumber, Coth, INumber> {
static std::unique_ptr<IMathObject> multiCothSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Coth, cothExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Sinh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Sinh : public IFunctionCRTP<INumber, Sinh, INumber> {
static std::unique_ptr<IMathObject> multiSinhSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Sinh, sinhExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/hyperbolic/Tanh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Tanh : public IFunctionCRTP<INumber, Tanh, INumber> {
static std::unique_ptr<IMathObject> multiTanhSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Tanh, tanhExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logarithms/Lb.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ class Lb : public IFunctionCRTP<INumber, Lb, INumber> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Lb, lbExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logarithms/Lg.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ class Lg : public IFunctionCRTP<INumber, Lg, INumber> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Lg, lgExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logarithms/Ln.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Ln : public IFunctionCRTP<INumber, Ln, INumber> {
static std::unique_ptr<IMathObject> multiLnSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Ln, lnExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logarithms/Log.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,6 @@ class Log : public IFunctionCRTP<INumber, Log, INumber, INumber> {
static std::unique_ptr<IMathObject> logSimplify(const Real &lhs, const Real &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Log, logExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logic/And.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class And : public IOperatorCRTP<Boolean, And, Boolean, Boolean> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(And, andExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logic/Equiv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Equiv : public IOperatorCRTP<Boolean, Equiv, Boolean, Boolean> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Equiv, equivExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logic/Impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Impl : public IOperatorCRTP<Boolean, Impl, Boolean, Boolean> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Impl, implExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logic/Nequiv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Nequiv : public IOperatorCRTP<Boolean, Nequiv, Boolean, Boolean> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Nequiv, nequivExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logic/Not.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Not : public IOperatorCRTP<Boolean, Not, Boolean> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Not, notExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/logic/Or.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Or : public IOperatorCRTP<Boolean, Or, Boolean, Boolean> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Or, orExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/other/Deg.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Deg : public IOperatorCRTP<INumber, Deg, INumber> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Deg, degExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/other/Factorial.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,6 @@ class Factorial : public IOperatorCRTP<INumber, Factorial, INumber> {
size_t order = 1;
};

FINTAMATH_FUNCTION_EXPRESSION(Factorial, factorialExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/other/Index.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Index : public IOperatorCRTP<Variable, Index, Variable, Integer> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Index, indexExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/other/Percent.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ class Percent : public IOperatorCRTP<INumber, Percent, INumber> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Percent, percentExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/powers/Exp.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ class Exp : public IFunctionCRTP<INumber, Exp, INumber> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Exp, expExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/powers/Pow.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,6 @@ class Pow : public IOperatorCRTP<INumber, Pow, INumber, INumber> {
static std::unique_ptr<IMathObject> powSimplify(const Real &lhs, const Real &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Pow, powExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/powers/Root.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,6 @@ class Root : public IFunctionCRTP<INumber, Root, INumber, INumber> {
static std::unique_ptr<IMathObject> perfectRoot(const Integer &lhs, const Integer &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Root, rootExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/powers/Sqrt.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ class Sqrt : public IFunctionCRTP<INumber, Sqrt, INumber> {
std::unique_ptr<IMathObject> call(const ArgumentsRefVector &argsVect) const override;
};

FINTAMATH_FUNCTION_EXPRESSION(Sqrt, sqrtExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/trigonometry/Acos.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,6 @@ class Acos : public IFunctionCRTP<INumber, Acos, INumber> {
static std::unique_ptr<IMathObject> acosSimplify(const Real &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Acos, acosExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/trigonometry/Acot.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Acot : public IFunctionCRTP<INumber, Acot, INumber> {
static std::unique_ptr<IMathObject> multiAcotSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Acot, acotExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/trigonometry/Asin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,6 @@ class Asin : public IFunctionCRTP<INumber, Asin, INumber> {
static std::unique_ptr<IMathObject> asinSimplify(const Real &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Asin, asinExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/trigonometry/Atan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Atan : public IFunctionCRTP<INumber, Atan, INumber> {
static std::unique_ptr<IMathObject> multiAtanSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Atan, atanExpr);

}
5 changes: 5 additions & 0 deletions include/fintamath/functions/trigonometry/Cos.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,9 @@ class Cos : public IFunctionCRTP<INumber, Cos, INumber> {
static std::unique_ptr<IMathObject> multiCosSimplify(const INumber &rhs);
};

template <typename... Args>
std ::unique_ptr<IMathObject> cosExpr(Args &&...args) {
static const Cos f;
return makeExpr(f, std ::forward<Args>(args)...);
};
}
2 changes: 2 additions & 0 deletions include/fintamath/functions/trigonometry/Cot.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Cot : public IFunctionCRTP<INumber, Cot, INumber> {
static std::unique_ptr<IMathObject> multiCotSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Cot, cotExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/trigonometry/Sin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Sin : public IFunctionCRTP<INumber, Sin, INumber> {
static std::unique_ptr<IMathObject> multiSinSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Sin, sinExpr);

}
2 changes: 2 additions & 0 deletions include/fintamath/functions/trigonometry/Tan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ class Tan : public IFunctionCRTP<INumber, Tan, INumber> {
static std::unique_ptr<IMathObject> multiTanSimplify(const INumber &rhs);
};

FINTAMATH_FUNCTION_EXPRESSION(Tan, tanExpr);

}
4 changes: 2 additions & 2 deletions include/fintamath/parser/Parser.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ class Parser {
return std::make_unique<Type>(args...);
};

std::string name = std::make_unique<Type>()->toString();
static const std::string name = Type().toString();
parserMap.insert({name, constructor});

Tokenizer::registerToken(name);
}

template <typename Type, typename BasePtr, typename... Args>
static void add(Map<BasePtr, Args...> &parserMap, Function<BasePtr, Args...> &&parserFunc) {
std::string name = std::make_unique<Type>()->toString();
static const std::string name = Type().toString();
parserMap.insert({name, std::move(parserFunc)});

Tokenizer::registerToken(name);
Expand Down
Loading