public void AddToParser(ParserXBase pParser) { // Matrix functions pParser.DefineFun(new FunMatrixOnes()); pParser.DefineFun(new FunMatrixZeros()); pParser.DefineFun(new FunMatrixEye()); pParser.DefineFun(new FunMatrixSize()); // Matrix Operators pParser.DefinePostfixOprt(new OprtTranspose()); // Colon operator pParser.DefineOprt(new OprtColon()); //pParser->DefineAggregator(new AggColon()); }
public void AddToParser(ParserXBase parser) { parser.AddValueReader(new StrValReader()); parser.AddValueReader(new CharacterReader()); // Functions parser.DefineFun(new FunStrLen()); parser.DefineFun(new FunStrToDbl()); parser.DefineFun(new FunStrToUpper()); parser.DefineFun(new FunStrToLower()); parser.DefineFun(new FunStrSplit()); parser.DefineFun(new FunStrJoin()); // Operators parser.DefineOprt(new OprtStrAdd()); }
public void AddToParser(ParserXBase pParser) { pParser.DefineConst("i", new Complex(0.0, 1.0)); pParser.AddValueReader(new CmplxValReader()); // Complex valued functions pParser.DefineFun(new FunCmplxReal()); pParser.DefineFun(new FunCmplxImag()); pParser.DefineFun(new FunCmplxConj()); pParser.DefineFun(new FunCmplxArg()); pParser.DefineFun(new FunCmplxNorm()); pParser.DefineFun(new FunCmplxSin()); pParser.DefineFun(new FunCmplxCos()); pParser.DefineFun(new FunCmplxTan()); pParser.DefineFun(new FunCmplxSinH()); pParser.DefineFun(new FunCmplxCosH()); pParser.DefineFun(new FunCmplxTanH()); pParser.DefineFun(new FunCmplxSqrt()); pParser.DefineFun(new FunCmplxExp()); pParser.DefineFun(new FunCmplxLn()); pParser.DefineFun(new FunCmplxLog()); pParser.DefineFun(new FunCmplxLog2()); pParser.DefineFun(new FunCmplxLog10()); pParser.DefineFun(new FunCmplxAbs()); pParser.DefineFun(new FunCmplxPow()); // Complex valued operators pParser.DefineOprt(new OprtAddCmplx()); pParser.DefineOprt(new OprtSubCmplx()); pParser.DefineOprt(new OprtMulCmplx()); pParser.DefineOprt(new OprtDivCmplx()); pParser.DefineOprt(new OprtPowCmplx()); pParser.DefineInfixOprt(new OprtSignCmplx()); }
public void AddToParser(ParserXBase pParser) { // Readers that need fancy decorations on their values must // be added first (i.e. hex . "0x...") Otherwise the // zero in 0x will be read as a value of zero! pParser.AddValueReader(new HexValReader()); pParser.AddValueReader(new BinValReader()); pParser.AddValueReader(new BoolValReader()); // Constants pParser.DefineConst("pi", Math.PI); pParser.DefineConst("e", Math.E); // Vector pParser.DefineFun(new FunSizeOf()); // Generic functions pParser.DefineFun(new FunMax()); pParser.DefineFun(new FunMin()); pParser.DefineFun(new FunSum()); // misc pParser.DefineFun(new FunParserID()); // integer package pParser.DefineOprt(new OprtLAnd()); pParser.DefineOprt(new OprtLOr()); pParser.DefineOprt(new OprtAnd()); pParser.DefineOprt(new OprtOr()); pParser.DefineOprt(new OprtShr()); pParser.DefineOprt(new OprtShl()); // booloean package pParser.DefineOprt(new OprtLE()); pParser.DefineOprt(new OprtGE()); pParser.DefineOprt(new OprtLT()); pParser.DefineOprt(new OprtGT()); pParser.DefineOprt(new OprtEQ()); pParser.DefineOprt(new OprtNEQ()); pParser.DefineOprt(new OprtLAnd("and")); // add logic and with a different identifier pParser.DefineOprt(new OprtLOr("or")); // add logic and with a different identifier // pParser.DefineOprt(new OprtBXor()); // assignement operators pParser.DefineOprt(new OprtAssign()); pParser.DefineOprt(new OprtAssignAdd()); pParser.DefineOprt(new OprtAssignSub()); pParser.DefineOprt(new OprtAssignMul()); pParser.DefineOprt(new OprtAssignDiv()); // infix operators pParser.DefineInfixOprt(new OprtCastToFloat()); pParser.DefineInfixOprt(new OprtCastToInt()); pParser.DefineInfixOprt(new OprtCastToChar()); // postfix operators pParser.DefinePostfixOprt(new OprtFact()); // <ibg 20130708> commented: "%" is a reserved sign for either the // modulo operator or comment lines. pParser.DefinePostfixOprt(new OprtPercentage()); // </ibg> }
public void AddToParser(ParserXBase pParser) { pParser.AddValueReader(new NumericReader()); pParser.DefineFun(new FunSin()); pParser.DefineFun(new FunCos()); pParser.DefineFun(new FunTan()); pParser.DefineFun(new FunSinH()); pParser.DefineFun(new FunCosH()); pParser.DefineFun(new FunTanH()); pParser.DefineFun(new FunASin()); pParser.DefineFun(new FunACos()); pParser.DefineFun(new FunATan()); pParser.DefineFun(new FunASinH()); pParser.DefineFun(new FunACosH()); pParser.DefineFun(new FunATanH()); pParser.DefineFun(new FunLog()); pParser.DefineFun(new FunLog10()); pParser.DefineFun(new FunLog2()); pParser.DefineFun(new FunLn()); pParser.DefineFun(new FunExp()); pParser.DefineFun(new FunSqrt()); pParser.DefineFun(new FunCbrt()); pParser.DefineFun(new FunAbs()); // binary functions pParser.DefineFun(new FunPow()); pParser.DefineFun(new FunHypot()); pParser.DefineFun(new FunAtan2()); pParser.DefineFun(new FunFmod()); pParser.DefineFun(new FunRemainder()); // Operator callbacks pParser.DefineInfixOprt(new OprtSign()); pParser.DefineInfixOprt(new OprtSignPos()); pParser.DefineOprt(new OprtAdd()); pParser.DefineOprt(new OprtSub()); pParser.DefineOprt(new OprtMul()); pParser.DefineOprt(new OprtDiv()); pParser.DefineOprt(new OprtPow()); }