<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/*
 * TerminalSymbols.java
 *
 * Created on 11. Mai 2000, 21:28
 */
 
package YARB.FileSources.SNNS.ResultFiles;

/**  Terminal Symbols for SNNS Result Files
 *
 * @author  Administrator
 * @version 
 */
public class TerminalSymbols extends Object {

  /** Creates new TerminalSymbols */
  public TerminalSymbols() {
  }
  
    /** Terminal Symbol
    * WHITE {" " | "\t" }
    */  
  protected boolean WHITE(char c) {
    if( c == ' ' || c == '\t' ) return true;
    else return false;
  }
    
  /** Terminal Symbol
    * Free {^"\n"}
    * Anything up to EOL
    */
  protected boolean FREE(String s) 
  throws NullPointerException { 
    if ( s == null || s.length() == 0){       
      throw new NullPointerException("***FREE: parameter  s.length() == 0 || s == null : " + this.toString());
    }
    try {        
      if ( s.charAt(s.length()-1) == '\n' ) return true;      
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }
    return false;
  }
    
  /** Terminal Symbol
    * COMMENT {"#" FREE "\n"}
    */    
  protected boolean COMMENT(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0){       
      throw new NullPointerException("***COMMENT: parameter  s.length() == 0 || s == null : " + this.toString());
    }
    try {              
      if ( s.charAt(0) == '#' &amp;&amp; s.charAt(s.length()-1) == '\n' ) {
        if ( FREE( s.substring(1,s.length() )) ) return true;        
      }      
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }
    return false;
  }
  
  /** Terminal Symbol
    * L_BRACKET {"["}
    */    
  protected boolean L_BRACKET(char c) {
    if ( c == '[' ) return true;
    else return false;
  }
  
  /** Terminal Symbol
    * R_BRACKET {"]"}
    */    
  protected boolean R_BRACKET(char c) {
    if ( c == ']' ) return true;
    else return false;
  }
  
  /** Terminal Symbol
    * INT { "0"-"9" }
    */
  protected boolean INT(char c) {
    if ( c &gt;= '0'  &amp;&amp; c &lt;= '9'  ) return true;
    else return false;
  }
  
  /** Terminal Symbol
    * V_NUMBER {[Vv]{INT}+"."{INT}+}
    */    
  protected boolean V_NUMBER(String s)
  throws NullPointerException { 
    if ( s == null || s.length() &lt;= 1){       
      throw new NullPointerException("***V_NUMBER: parameter  s.length() &lt;= 1 || s == null : " + this.toString());
    }
    try {              
      int comma_pos=0,i;        
      
      if ( s.charAt(0) == 'V' || s.charAt(0) == 'v' ) {      
        for (i=1; i &lt; s.length() ; i++) {
          if ( !INT(s.charAt(i)) ) {
            // it's only valid if the char '.' occurs only onces
            // char '.' isn't allowed to be in first place
            if ( s.charAt(i) == '.' &amp;&amp; comma_pos == 0 &amp;&amp; i &gt; 1) comma_pos=i;
            else return false;
          }
        }
        // if no more chars after '.' -&gt; invalid version number     
        if ( comma_pos == i ) return false;      
      return true;  
      }      
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }      
    return false;
  }
  
  /** Terminal Symbol
    * EXP [Ee][-+]?{INT}+
    */
  protected boolean EXP(String s)
  throws NullPointerException { 
    if ( s == null || s.length() &lt;= 1){       
      throw new NullPointerException("***EXP: parameter  s.length() &lt;= 1 || s == null : " + this.toString());
    }
    try {  
      int i, sign=0;
          
      if ( s.charAt(0) == 'e' || s.charAt(0) == 'E' ) {
        // Sign is optional
        if ( (s.charAt(1) == '-' || s.charAt(1) =='+')) sign=1;
        for ( i=1+sign; i &lt; s.length() ; i++) {
          if ( !INT(s.charAt(i)) ) return false;        
        }
        // not valid if string consist only of e/E and the optioanl +/-
        if ( i == sign ) return false;
        return true;
      }      
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }
    return false;
  }
  
  /** Terminal Symbol
   * NUMBER [-+]?{{INT}+ | {INT}+{EXP} | {INT}+"."{INT}*({EXP}? | {INT}*"."{INT}+({EXP})?}
   */ 
  protected boolean NUMBER(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0){       
      throw new NullPointerException("***NUMBER: parameter  s.length() == 0 || s == null : " + this.toString());
    }
    try {    
      int comma_pos=0, sign=0, loop_check=0, int_cnt=0;    
      for (int i=0; i &lt; s.length() ; i++) {
        // Only Numbers
        if ( !INT(s.charAt(i)) ) {        
          // Other chars allowed : '.' 'e' 'E' '-' '+'
          loop_check=0;
          // Check for signum
          if ( (s.charAt(i) == '+' || s.charAt(i) == '-') ) {
            if ( i != 0 ) return false;
            sign=1; loop_check=1;
          }
          // Check for comma - only one allowed
          if( s.charAt(i) == '.') {
            if( comma_pos != 0 ) return false;
            comma_pos=i; loop_check=1;
          }
          // Check for valid EXP
          if( s.charAt(i) == 'e' || s.charAt(i) == 'E' ) {
            if ( int_cnt == 0 ) return false;
            if( EXP(s.substring(i, s.length())) ) return true;
            else return false;
          }
          if( loop_check == 0 ) return false;
        }
        else int_cnt++;
      }
      return true;   
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }
    return false;
  }
  
  /** Terminal Symbol
    * VERSION_HEADER "SNNS result file"
    */
  protected boolean VERSION_HEADER(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0){       
      throw new NullPointerException("***VERSION_HEADER: parameter  s.length() == 0 || s == null : " + this.toString());
    }
    try {      
      if ( s.length() &lt; "SNNS result file".length() ) return false;
      if ( s.compareTo("SNNS result file") == 0 ) return true;      
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }      
    return false;
  }
  
  /** Terminal Symbol
    * GENERATED_AT "generated at" {FREE}* "\n"
    */
  protected boolean GENERATED_AT(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0){       
      throw new NullPointerException("***GENERATED_AT: parameter  s.length() == 0 || s == null : " + this.toString());
    }
    try {
      String t = new String(s.substring(0,"generated at".length()));            
      if ( t.compareTo("generated at") == 0 ) {
        if ( FREE(s.substring("generated at".length(),s.length())) ) return true;        
      }     
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }      
    return false;
  }

  /** Subfunction for different terminal symbols
    * with the format "string" {WHITE}* ":"
    */
  protected boolean SubStringParser(String s, String check)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 || check == null || check.length() == 0 ){       
      throw new NullPointerException("***SubStringParser: parameter   s == null || s.length() == 0 || check == null || check.length() == 0 : " + this.toString());
    }
    try {    
      String t;    
      if ( check.length() &gt; s.length() ) return false;
      t = s.substring(0,check.length());
      if ( t.compareTo(check) == 0 ) {      
        // Last char has to be ':'
        if ( s.charAt(s.length()-1) == ':') {
          // No whitespaces
          if ( s.length() == t.length()+1 ) return true;
          // Check other chars, only whitespaces are allowed
          for (int i=t.length();  i &lt; s.length()-2 ; i++) {
            if ( !WHITE(s.charAt(i)) ) return false;
          }
          return true;
        }        
      }      
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    }  
    return false;
  }

  /** Terminal Symbol
    * NO_OF_PATTERN "No. of patterns" {WHITE}* ":"
    */
  protected boolean NO_OF_PATTERN(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***NO_OF_PATTERN: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {
      return SubStringParser(s,"No. of patterns");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;  
  }

  /** Terminal Symbol
    * NO_OF_INPUT "No. of input units" {WHITE}* ":"
    */
  protected boolean NO_OF_INPUT(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***NO_OF_INPUT: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {  
      return SubStringParser(s,"No. of input units");
    } catch (StringIndexOutOfBoundsException e1) {
         System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;        
  }

  /** Terminal Symbol
    * NO_OF_OUTPUT "No. of output units" {WHITE}* ":"
    */
  protected boolean NO_OF_OUTPUT(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***NO_OF_OUTPUT: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {    
      return SubStringParser(s,"No. of output units");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;              
  }

  /** Terminal Symbol
    * NO_OF_VAR_IDIM "No. of variable input dimensions" {WHITE}* ":"
    */
  protected boolean NO_OF_VAR_IDIM(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***NO_OF_VAR_IDIM: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {    
      return SubStringParser(s,"No. of variable input dimensions");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;              
  }

  /** Terminal Symbol
    * NO_OF_VAR_ODIM "No. of variable output dimensions" {WHITE}* ":"
    */
  protected boolean NO_OF_VAR_ODIM(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("** NO_OF_VAR_ODIM: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {    
      return SubStringParser(s,"No. of variable output dimensions");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;              
  }  
  
  /** Terminal Symbol
    * MAXIMUM_IDIM "Maximum input dimensions" {WHITE}* ":"
    */
  protected boolean MAXIMUM_IDIM(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***MAXIMUM_IDIM: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {    
      return SubStringParser(s,"Maximum input dimensions");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;              
  }  

  /** Terminal Symbol
    * MAXIMUM_ODIM "Maximum output dimensions" {WHITE}* ":"
    */
  protected boolean MAXIMUM_ODIM(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***MAXIMUM_ODIM: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {    
      return SubStringParser(s,"Maximum output dimensions");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;              
  } 

    /** Terminal Symbol
  * START_PATTERN "startpattern {WHITE}* ":"
    */
  protected boolean START_PATTERN(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***START_PATTERN: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {
      return SubStringParser(s,"startpattern");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;  
  }
    /** Terminal Symbol
  * END_PATTERN "startpattern {WHITE}* ":"
    */
  protected boolean END_PATTERN(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***END_PATTERN: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {
      return SubStringParser(s,"endpattern");
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;  
  }
    /** Terminal Symbol
  * TEACHING_OUTPUT_INCLUDED "teaching output included"
    */
  protected boolean TEACHING_OUTPUT_INCLUDED(String s)
  throws NullPointerException { 
    if ( s == null || s.length() == 0 ){       
      throw new NullPointerException("***START_PATTERN: parameter   s == null || s.length() == 0 : " + this.toString());
    }
    try {
      if( s.compareTo("teaching output included") == 0 ) return true;
    } catch (StringIndexOutOfBoundsException e1) {
        System.out.println("***StringIndexOutOfBoundsException: " + e1.toString()+ ": " + this.toString());
    } catch (NullPointerException e2) {
        System.out.println("***NullPointerException: " + e2.toString());
    }
    return false;  
  }

} // TerminalSymbols

  /*protected void TestMethods() {
    /*
    if ( snns.WHITE(' ') ) System.out.println("Whitespace -&gt; WHITE");
    if ( snns.WHITE('\t') ) System.out.println("Tab -&gt; WHITE");
    if ( !snns.WHITE('d') ) System.out.println("false ! WHITE");
    *//*
    if ( snns.FREE("adasfsdasd\n") ) System.out.println("\"adasfsdasd\\n\" -&gt; FREE");
    if ( snns.FREE("\n") ) System.out.println("\"\\n\" -&gt; FREE");
    if ( !snns.FREE("adasfsdasd") ) System.out.println("\"adasfsdasd\" ! FREE");
    if ( !snns.FREE("") ) System.out.println("\"\" ! FREE");    
    *//*
    if ( snns.COMMENT("#\n") ) System.out.println("\"#\\n\" -&gt; COMMENT");
    if ( snns.COMMENT("#sfdsdfsd\n") ) System.out.println("\"#sdfsdf\\n\" -&gt; COMMENT");
    if ( !snns.COMMENT("#dfgdsfd") ) System.out.println("\"#dfgdsfd\" ! COMMENT");
    if ( !snns.COMMENT("sdfsd\n") ) System.out.println("\"sdfsd\\n\" ! COMMENT");    
    if ( !snns.COMMENT("") ) System.out.println("\"\" ! COMMENT");    
    *//*
    if ( snns.L_BRACKET('[') ) System.out.println("'[' -&gt; L_BRACKET");
    if ( snns.R_BRACKET(']') ) System.out.println("']' -&gt; L_BRACKET");
    *//*
    if ( snns.V_NUMBER("V3.2") ) System.out.println("V3.2 -&gt; V_NUMBER");
    if ( snns.V_NUMBER("v3.2") ) System.out.println("v3.2 -&gt; V_NUMBER");
    if ( snns.V_NUMBER("V31.22") ) System.out.println("V31.22 -&gt; V_NUMBER");
    if ( !snns.V_NUMBER("V3") ) System.out.println("V3 ! V_NUMBER");
    if ( !snns.V_NUMBER("V.2") ) System.out.println("V.2 ! V_NUMBER");
    if ( !snns.V_NUMBER("3.2") ) System.out.println("3.2 ! V_NUMBER");
    if ( !snns.V_NUMBER("V3sdf.2") ) System.out.println("V3sdf.2 ! V_NUMBER");
    if ( !snns.V_NUMBER("V3.2s") ) System.out.println("V3.2s ! V_NUMBER");
    if ( !snns.V_NUMBER("") ) System.out.println("\"\" ! V_NUMBER");
    *//*
    if ( snns.EXP("E-45") ) System.out.println("E-45 -&gt; EXP");
    if ( snns.EXP("e-45") ) System.out.println("e-45 -&gt; EXP");
    if ( snns.EXP("e+45") ) System.out.println("e+45 -&gt; EXP");
    if ( snns.EXP("e45") ) System.out.println("e45 -&gt; EXP");
    if ( !snns.EXP("e-d45") ) System.out.println("e-d45 ! EXP");
    if ( !snns.EXP("-45") ) System.out.println("-45 ! EXP");
    if ( !snns.EXP("45") ) System.out.println("45 -&gt; EXP");
    if ( !snns.EXP("e-45.0") ) System.out.println("e-45.0 ! EXP");
    if ( !snns.EXP("") ) System.out.println("\"\" ! EXP");
    *//*
    if ( snns.NUMBER("111") ) System.out.println("111 -&gt; NUMBER");
    if ( snns.NUMBER("111e10") ) System.out.println("111e10 -&gt; NUMBER");
    if ( snns.NUMBER("1.") ) System.out.println("1. -&gt; NUMBER");
    if ( snns.NUMBER("1.e10") ) System.out.println("1.e10 -&gt; NUMBER");
    if ( snns.NUMBER(".1") ) System.out.println(".1 -&gt; NUMBER");
    if ( snns.NUMBER(".1e10") ) System.out.println(".1e10 -&gt; NUMBER");
    if ( snns.NUMBER("1.1") ) System.out.println("1.1 -&gt; NUMBER");
    if ( snns.NUMBER("1.1e10") ) System.out.println("1.1e10 -&gt; NUMBER");    
    if ( !snns.NUMBER("1.1d10") ) System.out.println("1.1d10 ! NUMBER");
    if ( !snns.NUMBER("a1.110") ) System.out.println("a1.110 ! NUMBER");
    if ( !snns.NUMBER("1.1.10") ) System.out.println("1.1.10 ! NUMBER");
    if ( !snns.NUMBER("") ) System.out.println("\"\" ! NUMBER");
    *//*
    if ( snns.VERSION_HEADER("SNNS pattern definition file") ) System.out.println("SNNS pattern definition file -&gt; VERSION_HEADER");
    if ( !snns.VERSION_HEADER("snns pattern definition file") ) System.out.println("snns pattern definition file ! VERSION_HEADER");
    if ( !snns.VERSION_HEADER("") ) System.out.println("\"\" ! VERSION_HEADER");
    *//*
    if ( snns.GENERATED_AT("generated at Mon Apr 25 18:03:35 1994\n") ) System.out.println("\"generated at Mon Apr 25 18:03:35 1994\\n\" -&gt; GENERATED_AT");
    if ( snns.GENERATED_AT("generated at\n") ) System.out.println("\"generated at\\n\" -&gt; GENERATED_AT");
    if ( !snns.GENERATED_AT("generated at Mon Apr 25 18:03:35 1994") ) System.out.println("\"generated at Mon Apr 25 18:03:35 1994\" ! GENERATED_AT");
    if ( !snns.GENERATED_AT("generate at Mon Apr 25 18:03:35 1994") ) System.out.println("\"generate at Mon Apr 25 18:03:35 1994\" ! GENERATED_AT");
    if ( !snns.GENERATED_AT("") ) System.out.println("\"\" ! GENERATED_AT");
    *//*
    if ( snns.NO_OF_PATTERN("No. of patterns:") ) System.out.println("\"No. of patterns:\" -&gt; NO_OF_PATTERN");
    if ( snns.NO_OF_PATTERN("No. of patterns  :") ) System.out.println("\"No. of patterns  :\" -&gt; NO_OF_PATTERN");
    if ( snns.NO_OF_PATTERN("No. of patterns \t:") ) System.out.println("\"No. of patterns \\t:\" -&gt; NO_OF_PATTERN");
    if ( !snns.NO_OF_PATTERN("No. of patterns: ") ) System.out.println("\"No. of patterns: \" ! NO_OF_PATTERN");
    if ( !snns.NO_OF_PATTERN("No. of patterns") ) System.out.println("\"No. of patterns\" ! NO_OF_PATTERN");
    if ( !snns.NO_OF_PATTERN("") ) System.out.println("\"\" ! NO_OF_PATTERN");
    
    if ( snns.NO_OF_INPUT("No. of input units:") ) System.out.println("\"No. of input units:\" -&gt; NO_OF_INPUT");
    if ( snns.NO_OF_OUTPUT("No. of output units:") ) System.out.println("\"No. of output units:\" -&gt; NO_OF_OUTPUT");
    if ( snns.NO_OF_VAR_IDIM("No. of variable input dimensions:") ) System.out.println("\"No. of variable input dimensions:\" -&gt; NO_OF_VAR_IDIM");
    if ( snns.NO_OF_VAR_ODIM("No. of variable output dimensions:") ) System.out.println("\"No. of variable output dimensions:\" -&gt; NO_OF_VAR_ODIM");
    if ( snns.MAXIMUM_IDIM("Maximum input dimensions:") ) System.out.println("\"Maximum input dimensions:\" -&gt; MAXIMUM_IDIM");
    if ( snns.MAXIMUM_ODIM("Maximum output dimensions:") ) System.out.println("\"Maximum output dimensions:\" -&gt; MAXIMUM_ODIM");
    *//*
  }*/

  //protected void test_ts() {
    //if ( !V_NUMBER("v") ) System.out.println("\"v\" ! V_NUMBER");
    /*
    if ( NUMBER("+111") ) System.out.println("+111 -&gt; NUMBER");
    if ( NUMBER("-111") ) System.out.println("-111 -&gt; NUMBER");
    if ( NUMBER("111") ) System.out.println("111 -&gt; NUMBER");
    if ( NUMBER("111e10") ) System.out.println("111e10 -&gt; NUMBER");
    if ( NUMBER("1.") ) System.out.println("1. -&gt; NUMBER");
    if ( NUMBER("1.e10") ) System.out.println("1.e10 -&gt; NUMBER");
    if ( NUMBER(".1") ) System.out.println(".1 -&gt; NUMBER");
    if ( NUMBER(".1e10") ) System.out.println(".1e10 -&gt; NUMBER");
    if ( NUMBER("1.1") ) System.out.println("1.1 -&gt; NUMBER");
    if ( NUMBER("1.1e10") ) System.out.println("1.1e10 -&gt; NUMBER");    
    if ( !NUMBER("1.1d10") ) System.out.println("1.1d10 ! NUMBER");
    if ( !NUMBER("a1.110") ) System.out.println("a1.110 ! NUMBER");
    if ( !NUMBER("1.1.10") ) System.out.println("1.1.10 ! NUMBER");    
    if ( !NUMBER("") ) System.out.println("\"\" ! NUMBER");
    
    if ( !NUMBER("e10") ) System.out.println("\"e10\" ! NUMBER");
    if ( !NUMBER("+e10") ) System.out.println("\"+e10\" ! NUMBER");
    if ( !NUMBER("+1e") ) System.out.println("\"+1e\" ! NUMBER");
    if ( !NUMBER("1+1e10") ) System.out.println("\"1+1e10\" ! NUMBER");
    if ( NUMBER("1e10") ) System.out.println("\"1e10\" -&gt; NUMBER");
    */
    //if ( NO_OF_VAR_IDIM("No. of variable input dimensions:b") ) System.out.println("\"No. of variable input dimensions:\" -&gt; NO_OF_VAR_IDIM");
  //}
</pre></body></html>