@Override public ATerm readFromSharedTextFile(final InputStream stream) throws IOException { final ATermReader reader = new ATermReader(new BufferedReader(new InputStreamReader(stream))); reader.readSkippingWS(); if (reader.getLastChar() != '!') throw new IOException("not a openllet.shared.hash text file!"); reader.readSkippingWS(); return readFromSharedTextFile(reader); }
private ATerm readFromSharedTextFile(final ATermReader reader) throws IOException { reader.initializeSharing(); return parseFromReader(reader); }
private static String parseId(final ATermReader reader) throws IOException { int c = reader.getLastChar(); final StringBuilder buf = new StringBuilder(32); do { buf.append((char) c); c = reader.read(); } while (Character.isLetterOrDigit(c) || c == '_' || c == '-' || c == '+' || c == '*' || c == '$'); return buf.toString(); }
@Override public ATerm readFromTextFile(final InputStream stream) throws IOException { final ATermReader reader = new ATermReader(new BufferedReader(new InputStreamReader(stream))); reader.readSkippingWS(); return readFromTextFile(reader); }
start = reader.getPosition(); switch (reader.getLastChar()) c = reader.readSkippingWS(); if (c == -1) throw new ParseError("premature EOF encountered."); c = reader.readSkippingWS(); result = _empty; if (reader.getLastChar() != ']') throw new ParseError("expected ']' but got '" + (char) reader.getLastChar() + "'"); c = reader.readSkippingWS(); c = reader.readSkippingWS(); final ATerm ph = parseFromReader(reader); if (reader.getLastChar() != '>') throw new ParseError("expected '>' but got '" + (char) reader.getLastChar() + "'"); c = reader.readSkippingWS(); c = reader.readSkippingWS(); if (reader.getLastChar() == '(') c = reader.readSkippingWS(); if (c == -1) throw new ParseError("premature EOF encountered."); if (reader.getLastChar() == ')')
if (reader.read() == '\\') reader.read(); escaped = true; final int lastChar = reader.getLastChar(); if (lastChar == -1) throw new ParseError("Unterminated quoted function symbol: " + str); case '6': case '7': str.append(reader.readOct()); break; default: str.append('\\').append((char) reader.getLastChar()); } while (escaped || reader.getLastChar() != '"');
private static ATerm parseAbbrev(final ATermReader reader) throws IOException { ATerm result; int abbrev; int c = reader.read(); abbrev = 0; while (isBase64(c)) { abbrev *= 64; if (c >= 'A' && c <= 'Z') abbrev += c - 'A'; else if (c >= 'a' && c <= 'z') abbrev += c - 'a' + 26; else if (c >= '0' && c <= '9') abbrev += c - '0' + 52; else if (c == '+') abbrev += 62; else if (c == '/') abbrev += 63; else throw new OpenError("not a base-64 digit: " + c); c = reader.read(); } result = reader.getTerm(abbrev); return result; }
private ATerm[] parseATermsArray(final ATermReader reader) throws IOException { final List<ATerm> list = new ArrayList<>(); ATerm term = parseFromReader(reader); list.add(term); while (reader.getLastChar() == ',') { reader.readSkippingWS(); term = parseFromReader(reader); list.add(term); } final ATerm[] array = new ATerm[list.size()]; final ListIterator<ATerm> iter = list.listIterator(); int index = 0; while (iter.hasNext()) array[index++] = iter.next(); return array; }
public int readSkippingWS() throws IOException { do last_char = read(); while (Character.isWhitespace(last_char)); return last_char; }
private ATerm readShiftFromFile(final InputStream stream, final char typeByte) throws IOException { try (BufferedReader buffer = new BufferedReader(new InputStreamReader(stream))) { final ATermReader reader = new ATermReader(buffer); reader.last_char = typeByte; // Reinsert the type into the stream (since in this case it wasn't a type byte). return readFromTextFile(reader); } }
@Override public ATerm parse(final String trm) { try { final ATermReader reader = new ATermReader(new StringReader(trm), trm.length()); reader.readSkippingWS(); final ATerm result = parseFromReader(reader); return result; } catch (final IOException e) { throw new ParseError("premature end of string", e); } }
public int skipWS() throws IOException { while (Character.isWhitespace(last_char)) last_char = read(); return last_char; }
final ATermReader reader = new ATermReader(new BufferedReader(new InputStreamReader(stream))); reader.readSkippingWS(); return readFromSharedTextFile(reader);
str.append((char) reader.getLastChar()); while (Character.isDigit(reader.read())); if (reader.getLastChar() != '.' && reader.getLastChar() != 'e' && reader.getLastChar() != 'E' && reader.getLastChar() != 'l' && reader.getLastChar() != 'L') if (reader.getLastChar() == 'l' || reader.getLastChar() == 'L') reader.read(); long val; try if (reader.getLastChar() == '.') reader.read(); if (!Character.isDigit(reader.getLastChar())) throw new ParseError("digit expected"); do str.append((char) reader.getLastChar()); while (Character.isDigit(reader.read())); if (reader.getLastChar() == 'e' || reader.getLastChar() == 'E') str.append((char) reader.getLastChar()); reader.read(); if (reader.getLastChar() == '-' || reader.getLastChar() == '+') str.append((char) reader.getLastChar()); reader.read();