public NonGroundLiteral parse(TokenState st) throws ParseException {
TokenParser nafSym = new TokenParser(Token.Type.NAF);
TokenParser negSym = new TokenParser(Token.Type.NEG);
boolean naf = false;
boolean neg = false;
UnaryOperator negOp = null;
if(nafSym.tryParse(st)) {
naf = true;
Token negOpTok = st.getNext();
if(!negOpTok.getType().equals(Token.Type.SYMBOL))
throw new ParseException(negOpTok.getLocation(),"naf operator",negOpTok.toString());