TaxonomyLoader.java

// FILE. . . . . /home/hak/hlt/src/hlt/osfv3/io/TaxonomyLoader.java
// EDIT BY . . . Hassan Ait-Kaci
// ON MACHINE. . Hak-Laptop
// STARTED ON. . Mon Sep 02 15:36:47 2013



This class is used to load an encoded taxonomy from a file. It consists in a simple tokenizer for reading the contents of an encoded taxonomy that was saved in the specific format defined by the save method in the osf.exec.Taxonomy class.

Copyright:  © by the author
Author:  Hassan Aït-Kaci
Version:  Last modified on Thu Apr 25 08:09:34 2019 by hak



package hlt.osf.io;

import java.io.IOException;
import java.io.Reader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.FileNotFoundException;

import hlt.language.util.Span;
import hlt.language.util.Location;

import hlt.language.io.StreamTokenizer;
import hlt.language.io.IO;

import hlt.language.tools.Misc;
// import hlt.language.tools.Debug;

public class TaxonomyLoader
{
  private String _file;
  private FileReader _reader;
  private StreamTokenizer _st;

  private int _tokenType;
  private int _intValue;
  private String _symbolValue;

  private int _rank = -1;
  private boolean _eof = false;

  public final static byte EOF = StreamTokenizer.TT_EOF;
  public final static byte EOL = StreamTokenizer.TT_EOL;
  public final static byte WORD = StreamTokenizer.TT_WORD;
  public final static byte NUMBER = StreamTokenizer.TT_NUMBER;

  public final int tokenType ()
    {
      return _tokenType;
    }

  public final int intValue ()
    {
      return _intValue;
    }

  public final String symbolValue ()
    {
      return _symbolValue;
    }

  public final boolean eof ()
    {
      return _eof;
    }

  public TaxonomyLoader (String file) throws FileNotFoundException
    {
      _file = file;
      _reader = new FileReader(file);
      setReader(_reader);
    }

  public final void setReader (Reader reader)
    {
      _st = new StreamTokenizer(reader);
      _st.eolIsSignificant(true);
      _st.quoteChar('\'');
      _st.quoteChar('"');
      _st.wordChars("-_@");

      // Debug.setDebugFlag(true);
    }

  public final Reader getReader ()
    {
      return _reader;
    }

  public final int lineNumber ()
    {
      return _st.lineno();
    }

  public final Location tokenStart ()
    {
      return _st.tokenStart();
    }

  public final Location tokenEnd ()
    {
      return _st.tokenEnd();
    }

  public final void error () throws BadTokenException
    {
      throw new BadTokenException((new Span(tokenStart(),tokenEnd())).toString());
    }

  final void eol ()
    {
      _rank++;
    }

  final void setEof ()
    {
      _eof = true;
    }

  public final void close () throws IOException
    {
      _reader.close();
    }

  /* ************************************************************************ */

  public final boolean nextToken () throws IOException
    {
      _tokenType = _st.nextToken();

      // if (Debug.flagIsOn())
      // 	{
      // 	  System.out.println("Stream tokenizer's current state: "+_st);
      // 	}

      switch (_tokenType)
        {
        case StreamTokenizer.TT_SPECIAL:
          return nextToken();
        case StreamTokenizer.TT_EOF:
	  // if (Debug.flagIsOn())
	  //   System.out.println("READ END OF FILE");
	  setEof();
          break;
        case StreamTokenizer.TT_EOL:
	  eol();
	  break;
        case StreamTokenizer.TT_NUMBER:
	  _intValue = (int)_st.nval;
          break;
        case '"': case '\'':
	  _tokenType = StreamTokenizer.TT_WORD;
        case StreamTokenizer.TT_WORD:
	  _symbolValue = _st.sval;
	  break;
	default:
	  return false;
        }

      return true;
    }
}



This file was generated on Mon Sep 09 09:18:00 PDT 2019 from file TaxonomyLoader.java
by the hlt.language.tools.Hilite Java tool written by Hassan Aït-Kaci