static boolean startsWithDistinct(ItemList x) { if ( x.size() > 0 && x.car().isSymbol(Tags.tagDistinct) ) return true ; return false ; }
static boolean startsWithDistinct(ItemList x) { if ( x.size() > 0 && x.car().isSymbol(Tags.tagDistinct) ) return true ; return false ; }
private static boolean listOfLists(Item item) { // Atom if ( ! item.isList() ) return false ; // List of atom (inc tagged) if ( ! item.getList().car().isList() ) return false ; // List of lists return true ; }
private static boolean listOfLists(Item item) { // Atom if ( ! item.isList() ) return false ; // List of atom (inc tagged) if ( ! item.getList().car().isList() ) return false ; // List of lists return true ; }
@Override public Expr make(ItemList list) { BuilderLib.checkLengthAtLeast(1, list, "in: wanted 1 or more arguments: got: "+numArgs(list)) ; Item lhs = list.car() ; Expr expr = buildExpr(list.get(1)) ; ExprList eList = buildExprListUntagged(list, 2) ; return new E_OneOf(expr, eList) ; } };
@Override public Expr make(ItemList list) { BuilderLib.checkLengthAtLeast(1, list, "notin: wanted 1 or more arguments: got: "+numArgs(list)) ; Item lhs = list.car() ; Expr expr = buildExpr(list.get(1)) ; ExprList eList = buildExprListUntagged(list, 2) ; return new E_NotOneOf(expr, eList) ; } };
public Expr make(ItemList list) { BuilderLib.checkLengthAtLeast(1, list, "in: wanted 1 or more arguments: got: "+list.size()) ; Item lhs = list.car() ; Expr expr = buildExpr(list.get(1)) ; ExprList eList = buildExprListUntagged(list, 2) ; return new E_OneOf(expr, eList) ; } };
public Expr make(ItemList list) { BuilderLib.checkLengthAtLeast(1, list, "notin: wanted 1 or more arguments: got: "+list.size()) ; Item lhs = list.car() ; Expr expr = buildExpr(list.get(1)) ; ExprList eList = buildExprListUntagged(list, 2) ; return new E_NotOneOf(expr, eList) ; } };
private void init(Item stats) { if ( !stats.isTagged(STATS) ) throw new ARQException("Not a tagged '"+STATS+"'") ; ItemList list = stats.getList().cdr(); // Skip tag if ( list.car().isTagged(META) ) { // Process the meta tag. Item elt1 = list.car(); list = list.cdr(); // Move list on // Get count. Item x = Item.find(elt1.getList(), COUNT) ; if ( x != null ) count = x.getList().get(1).asInteger() ; } while (!list.isEmpty()) { Item elt = list.car() ; list = list.cdr(); onePattern(elt) ; } }
@Override public Op make(ItemList list) { boolean silent = false ; BuilderLib.checkLength(3, 4, list, "service") ; list = list.cdr() ; if ( list.size() == 3 ) { if ( !list.car().isSymbol() ) BuilderLib.broken(list, "Expected a keyword") ; if ( ! list.car().getSymbol().equalsIgnoreCase("SILENT") ) BuilderLib.broken(list, "Service: Expected SILENT") ; silent = true ; list = list.cdr() ; } Node service = BuilderNode.buildNode(list.car()) ; if ( ! service.isURI() && ! service.isVariable() ) BuilderLib.broken(list, "Service must provide a URI or variable") ; list = list.cdr() ; Op sub = build(list, 0) ; return new OpService(service, sub, silent) ; } } ;
public Op make(ItemList list) { boolean silent = false ; BuilderLib.checkLength(3, 4, list, "service") ; list = list.cdr() ; if ( list.size() == 3 ) { if ( !list.car().isSymbol() ) BuilderLib.broken(list, "Expected a keyword") ; if ( ! list.car().getSymbol().equalsIgnoreCase("SILENT") ) BuilderLib.broken(list, "Service: Expected SILENT") ; silent = true ; list = list.cdr() ; } Node service = BuilderNode.buildNode(list.car()) ; if ( ! service.isURI() && ! service.isVariable() ) BuilderLib.broken(list, "Service must provide a URI or variable") ; list = list.cdr() ; Op sub = build(list, 0) ; return new OpService(service, sub, silent) ; } } ;
private void init(Item stats) { if ( !stats.isTagged(STATS) ) throw new ARQException("Not a tagged '"+STATS+"'") ; ItemList list = stats.getList().cdr(); // Skip tag if ( list.car().isTagged(META) ) { // Process the meta tag. Item elt1 = list.car(); list = list.cdr(); // Move list on // Get count. Item x = Item.find(elt1.getList(), COUNT) ; if ( x != null ) count = x.getList().get(1).asInteger() ; } while (!list.isEmpty()) { Item elt = list.car() ; list = list.cdr(); onePattern(elt) ; } }
public static VarExprList buildNamedExprOrExprList(Item item) { if ( ! item.isList() ) BuilderLib.broken(item, "Not a var expr list") ; ItemList list = item.getList() ; if ( list.isEmpty() ) return new VarExprList() ; if ( list.car().isList() ) // List of lists return buildNamedExprList(list) ; // One item return buildNamedExpr(item) ; }
public static VarExprList buildNamedExprOrExprList(Item item) { if ( ! item.isList() ) BuilderLib.broken(item, "Not a var expr list") ; ItemList list = item.getList() ; if ( list.isEmpty() ) return new VarExprList() ; if ( list.car().isList() ) // List of lists return buildNamedExprList(list) ; // One item return buildNamedExpr(item) ; }
private static void buildNamedExpr(Item item, VarExprList varExprList) { if ( item.isNode() ) { Var v = BuilderNode.buildVar(item) ; varExprList.add(v) ; return ; } if ( !item.isList() || item.getList().size() != 2 ) BuilderLib.broken(item, "Not a var or var/expression pair") ; ItemList list = item.getList() ; if ( list.size() == 1 ) { Var v = BuilderNode.buildVar(list.car()) ; varExprList.add(v) ; return ; } if ( list.size() != 2 ) BuilderLib.broken(list, "Not a var or var/expression pair") ; Var var = BuilderNode.buildVar(list.get(0)) ; Expr expr = BuilderExpr.buildExpr(list.get(1)) ; varExprList.add(var, expr) ; }
private static void buildNamedExpr(Item item, VarExprList varExprList) { if ( item.isNode() ) { Var v = BuilderNode.buildVar(item) ; varExprList.add(v) ; return ; } if ( !item.isList() || item.getList().size() != 2 ) BuilderLib.broken(item, "Not a var or var/expression pair") ; ItemList list = item.getList() ; if ( list.size() == 1 ) { Var v = BuilderNode.buildVar(list.car()) ; varExprList.add(v) ; return ; } if ( list.size() != 2 ) BuilderLib.broken(list, "Not a var or var/expression pair") ; Var var = BuilderNode.buildVar(list.get(0)) ; Expr expr = BuilderExpr.buildExpr(list.get(1)) ; varExprList.add(var, expr) ; }