private static void addText(Stack<XNode> stack, String g1) { stack.peek().children.add(new XNode(XNode.OP.OP_TEXT, g1)); }
private static void expression(Stack<XNode> stack, char prefix, String expr, String whole) { U.must(!expr.isEmpty(), "Empty expression!"); switch (prefix) { case '$': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT, expr)); break; case '@': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT_RAW, expr)); break; case '>': stack.peek().children.add(new XNode(XNode.OP.OP_INCLUDE, expr)); break; default: throw U.rte("Invalid expression: %s", expr); } }
private static void block(Stack<XNode> stack, char prefix, String stat, String whole) { U.must(!stat.isEmpty(), "Empty block!"); switch (prefix) { case '#': stack.push(new XNode(XNode.OP.OP_FOREACH, stat)); break; case '?': stack.push(new XNode(XNode.OP.OP_IF, stat)); break; case '^': case '!': stack.push(new XNode(XNode.OP.OP_IF_NOT, stat)); break; case '/': close(stack, stat); break; default: throw U.rte("Invalid block: %s", stat); } }
XNode root = new XNode(XNode.OP.OP_ROOT, null); stack.push(root);
private static void addText(Stack<XNode> stack, String g1) { stack.peek().children.add(new XNode(XNode.OP.OP_TEXT, g1)); }
private static void expression(Stack<XNode> stack, char prefix, String expr, String whole) { U.must(!expr.isEmpty(), "Empty expression!"); switch (prefix) { case '$': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT, expr)); break; case '@': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT_RAW, expr)); break; case '>': stack.peek().children.add(new XNode(XNode.OP.OP_INCLUDE, expr)); break; default: throw U.rte("Invalid expression: %s", expr); } }
private static void block(Stack<XNode> stack, char prefix, String stat, String whole) { U.must(!stat.isEmpty(), "Empty block!"); switch (prefix) { case '#': stack.push(new XNode(XNode.OP.OP_FOREACH, stat)); break; case '?': stack.push(new XNode(XNode.OP.OP_IF, stat)); break; case '^': case '!': stack.push(new XNode(XNode.OP.OP_IF_NOT, stat)); break; case '/': close(stack, stat); break; default: throw U.rte("Invalid block: %s", stat); } }
XNode root = new XNode(XNode.OP.OP_ROOT, null); stack.push(root);