@Override public Item transform(Item item, String symbol) { return Item.createSymbol(symbol, item.getLine(), item.getColumn()) ; }
@Override public Item transform(Item item, Node node) { return Item.createNode(node, item.getLine(), item.getColumn()) ; }
@Override public Item transform(Item item, ItemList list) { return Item.createList(list, item.getLine(), item.getColumn()) ; }
private static Node parseNode(Reader reader, PrefixMapping pmap) { Item item = parseTerm(reader, pmap) ; if ( item.isSymbol() ) { String str = item.getSymbol() ; if ( "true".equalsIgnoreCase(str) ) return NodeConst.nodeTrue ; if ( "false".equalsIgnoreCase(str) ) return NodeConst.nodeFalse ; throw new SSEParseException("Not a node: "+item, item.getLine(), item.getColumn()) ; } if ( ! item.isNode() ) throw new SSEParseException("Not a node: "+item, item.getLine(), item.getColumn()) ; return item.getNode() ; }
protected void setFormResult(Item item) { if ( frameStack.getCurrent() == null ) throwException("Internal error : no current form", item.getLine(), item.getColumn()) ; frameStack.getCurrent().result = item ; }
@Override public void visit(Item item, ItemList list) { ItemList newList = new ItemList(item.getLine(), item.getColumn()) ; for ( Item subItem : list ) { subItem.visit(this) ; Item newItem = pop(); newList.add(newItem) ; } Item newItemList = Item.createList(newList, item.getLine(), item.getColumn()) ; push(newItemList) ; }
private static String parseSymbol(Reader reader, PrefixMapping pmap) { Item item = parseTerm(reader, pmap) ; if ( ! item.isSymbol() ) throw new SSEParseException("Not a symbol: "+item, item.getLine(), item.getColumn()) ; return item.getSymbol() ; }