@Override public IExpr visit(IPatternSequence element) { IExpr temp = fFunction.apply(element); if (temp.isPresent()) { return temp; } ISymbol symbol = element.getSymbol(); if (symbol != null) { IExpr expr = fFunction.apply(symbol); if (expr.isPresent() && expr.isSymbol()) { return F.$ps((ISymbol) expr, element.getHeadTest(), element.isDefault(), element.isNullSequence()); } } return F.NIL; }
return F.$ps((ISymbol) convert(p2n.getSymbol()), convert(p2n.getConstraint()), p2n.isDefault());
temp = F.$ps(null, null); if (fToken == TT_IDENTIFIER) { final IExpr check = getSymbol(); temp = F.$ps(null, check); temp = F.$ps(null, null); temp = F.$ps(null, null, false, true); if (fToken == TT_IDENTIFIER) { final IExpr check = getSymbol(); temp = F.$ps(null, check, false, true); temp = F.$ps(null, null, false, true);
temp = F.$ps(symbol, null); getNextToken(); } else { if (fToken == TT_IDENTIFIER) { final IExpr check = getSymbol(); temp = F.$ps(symbol, check); } else { temp = F.$ps(symbol, null); temp = F.$ps(symbol, null, false, true); getNextToken(); } else { if (fToken == TT_IDENTIFIER) { final IExpr check = getSymbol(); temp = F.$ps(symbol, check, false, true); } else { temp = F.$ps(symbol, null, false, true);
@Override public IExpr evaluate(final IAST ast, EvalEngine engine) { if (ast.head().equals(F.Pattern)) { if (ast.size() == 3) { if (ast.arg1().isSymbol()) { if (ast.arg2().isBlank()) { IPatternObject blank = (IPatternObject) ast.arg2(); return F.$p((ISymbol) ast.arg1(), blank.getHeadTest()); } if (ast.arg2().isAST(F.Blank, 1)) { return F.$p((ISymbol) ast.arg1()); } if (ast.arg2().isAST(F.BlankSequence, 1)) { return F.$ps((ISymbol) ast.arg1(), null, false, false); } if (ast.arg2().isAST(F.BlankNullSequence, 1)) { return F.$ps((ISymbol) ast.arg1(), null, false, true); } if (ast.arg2().isAST(F.BlankSequence, 2)) { return F.$ps((ISymbol) ast.arg1(), ast.arg2().first(), false, false); } if (ast.arg2().isAST(F.BlankNullSequence, 2)) { return F.$ps((ISymbol) ast.arg1(), ast.arg2().first(), false, true); } } } } return F.NIL; }
@Override public IExpr visit(IPatternSequence element) { ISymbol symbol = element.getSymbol(); if (symbol != null) { IExpr expr = apply(symbol); if (expr.isPresent() && expr.isSymbol()) { return F.$ps((ISymbol) expr, element.getHeadTest(), element.isDefault(), element.isNullSequence()); } } return F.NIL; }