Lexicon.java
|
// FILE. . . . . /home/hak/ilt/src/ilog/rif/Lexicon.java // EDIT BY . . . Hassan Ait-Kaci // ON MACHINE. . Latitude407.Ilog.Biz // STARTED ON. . Wed May 3 14:37:18 2006 package ilog.rif;
This is a simple lexicon class implementing a very basic token
discriminator for the tokenizer in Tokenizer.java. It uses explicit
declararations for functional and relation symbols since there is no
a priori means to distinguish them - at least not from the
information in
[RIF] Extensible Design.
|
import java.util.HashMap; import java.util.HashSet; class Lexicon {
Returns true iff the specified string starts with a question mark, and every other character is alphanumeric or underscore. |
public final static boolean isVariable (String s) { char c = s.charAt(0); if (c != '?') return false; for (int i=1; i<s.length(); i++) { c = s.charAt(i); if (!Character.isLetterOrDigit(c) && c != '_') return false; } return true; }
The following is a store for RCL reserved words. |
public static final HashSet reserved = new HashSet();
The following is a store for RCL function identifiers, associated with a corresponding XML tag. |
public static final HashMap functions = new HashMap();
The following is a store for RCL relation identifiers, associated with a corresponding XML tag. |
public static final HashMap relations = new HashMap();
Returns true iff the specified string is a function identifier. |
public final static boolean isFunction (String word) { return functions.containsKey(word); }
Returns true iff the specified string is a relation identifier. |
public final static boolean isRelation (String word) { return relations.containsKey(word); }
Returns true iff the specified string is a reserved RCL word. |
public final static boolean isReserved (String word) { return reserved.contains(word); }
Declares the specified string as a function identifier whose XML tag is itself. |
static final void function (String word) { functions.put(word,word); }
Declares the specified string as a function identifier, with specified XML tag. |
static final void function (String word, String tag) { functions.put(word,tag); }
Declares the specified string as a relation identifier whose XML tag is itself. |
static final void relation (String word) { relations.put(word,word); }
Declares the specified string as a relation identifier, with specified XML tag. |
static final void relation (String word, String tag) { relations.put(word,tag); }
Declares the specified string as a reserved word. |
static final void reserved (String word) { reserved.add(word); } }
This file was generated on Mon Mar 31 17:18:18 PDT 2008 from file Lexicon.java
by the ilog.language.tools.Hilite Java tool written by Hassan Aït-Kaci