Interpreter.PrologInterpreter.PrologLexer
Class PrologLexer

java.lang.Object
  |
  +--Interpreter.Sexp.Utils.Lexer.StreamTokenizerWithAtom
        |
        +--Interpreter.Sexp.Utils.Lexer.LexerMask
              |
              +--Interpreter.Sexp.Utils.Lexer.Lexer
                    |
                    +--Interpreter.PrologInterpreter.PrologLexer.PrologLexer

public class PrologLexer
extends Lexer

Analizzatore lessicale per linguaggio Prolog. Specifica le proprietà del linguaggio Prolog rispetto a quelle generiche della classe Lexer.
Utilizza gli insiemi di parole chiave definiti nel package Interpreter.PrologInterpreter.PrologLexer.Sets.


Fields inherited from class Interpreter.Sexp.Utils.Lexer.Lexer
OperationalSet, PrimitiveSet, RelationalSet, SpecialSet
 
Fields inherited from class Interpreter.Sexp.Utils.Lexer.StreamTokenizerWithAtom
nospaces, nval, sval, TT_ATOM, TT_EOF, TT_EOL, TT_NUMBER, TT_WORD, ttype
 
Constructor Summary
PrologLexer(java.io.Reader I, PrimitiveSet ps)
          Costruisce un PrologLexer che analizzerà l'input preso da I.
PrologLexer(java.lang.String s, PrimitiveSet ps)
          Costruisce un PrologLexer che analizzerà la stringa passata come parametro.
 
Method Summary
protected  Sexp BuildSpecial(java.lang.String tok)
          Definisce il comportamento del lexer per le chiavi particolari.
 boolean contains(Sexp Next)
          Controlla se la stringa corrispondente alla Sexp passata come parametro appartiene ad uno dei Set di parole o simboli chiave.
static void main(java.lang.String[] args)
          La classe PrologLexer contiene il main per testarla.
protected  void Symbols(PrimitiveSet ps)
          Introduce il carattere di commento '%' e definisce i set di parole e simboli chiave.
 
Methods inherited from class Interpreter.Sexp.Utils.Lexer.Lexer
getToken, LoadKeys, next
 
Methods inherited from class Interpreter.Sexp.Utils.Lexer.StreamTokenizerWithAtom
atom, commentChar, eolIsSignificant, lineno, lowerCaseMode, nextToken, ordinaryChar, ordinaryChars, parseNumbers, pushBack, quoteChar, resetSyntax, slashSlashComments, slashStarComments, toString, whitespaceChars, wordChars
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PrologLexer

public PrologLexer(java.io.Reader I,
                   PrimitiveSet ps)
Costruisce un PrologLexer che analizzerà l'input preso da I. Introduce il carattere di commento '%' e definisce i set di parole e simboli chiave.
Parameters:
I - è l'input da analizzare.
ps - specifica quale deve essere il PrimitiveSet dell'interprete; consente la definizione di nuove primitive.

PrologLexer

public PrologLexer(java.lang.String s,
                   PrimitiveSet ps)
Costruisce un PrologLexer che analizzerà la stringa passata come parametro. Introduce il carattere di commento '%' e definisce i set di parole e simboli chiave.
Parameters:
s - è la stringa da analizzare.
ps - specifica quale deve essere il PrimitiveSet dell'interprete; consente la definizione di nuove primitive.
Method Detail

Symbols

protected void Symbols(PrimitiveSet ps)
Introduce il carattere di commento '%' e definisce i set di parole e simboli chiave.
Parameters:
ps - è il PrimitiveSet

BuildSpecial

protected Sexp BuildSpecial(java.lang.String tok)
                     throws InterpreterException
Definisce il comportamento del lexer per le chiavi particolari.
Overrides:
BuildSpecial in class Lexer

contains

public boolean contains(Sexp Next)
Controlla se la stringa corrispondente alla Sexp passata come parametro appartiene ad uno dei Set di parole o simboli chiave.
Parameters:
Next - Sexp di cui si vuole verificare la presenza nei set di simboli o parole chiave.
Returns:
true se Next.toString() è contenuta in uno dei set di simboli o parole chiave, false altrimenti.

main

public static void main(java.lang.String[] args)
La classe PrologLexer contiene il main per testarla.


Codice realizzato da Francesco Geri & Marco Tamanti