Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
  * Conditions Of Use
  *
  * This software was developed by employees of the National Institute of
  * Standards and Technology (NIST), an agency of the Federal Government.
  * Pursuant to title 15 Untied States Code Section 105, works of NIST
  * employees are not subject to copyright protection in the United States
  * and are considered to be in the public domain.  As a result, a formal
  * license is not needed to use the software.
 *
 * This software is provided by NIST as a service and is expressly
 * provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
 * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
 * AND DATA ACCURACY.  NIST does not warrant or make any representations
 * regarding the use of the software or the results thereof, including but
 * not limited to the correctness, accuracy, reliability or usefulness of
 * the software.
 *
 * Permission to use this software is contingent upon your acceptance
 * of the terms of this agreement
 *
 * .
 *
 */
 package gov.nist.core;
 
Generic parser class. All parsers inherit this class.

Author(s):
M. Ranganathan
Version:
1.2
 
 public abstract class ParserCore {
     public static final boolean debug = .;
 
     static int nesting_level;
 
     protected LexerCore lexer;
 
 
     protected NameValue nameValue(char separatorthrows ParseException  {
         if (dbg_enter("nameValue");
         try {
 
         .match(.);
         Token name = .getNextToken();
         // eat white space.
         .SPorHT();
         try {
 
 
                 boolean quoted = false;
 
             char la = .lookAhead(0);
 
             if (la == separator ) {
                 .consume(1);
                 .SPorHT();
                 String str = null;
                 boolean isFlag = false;
                 if (.lookAhead(0) == '\"')  {
                      str = .quotedString();
                      quoted = true;
                 } else {
                    .match(.);
                    Token value = .getNextToken();
                    str = value.tokenValue;
 
                    // JvB: flag parameters must be empty string!
                    if (str==null) {
                        str = "";
                        isFlag = true;
                    }
                 }
                 NameValue nv = new NameValue(name.tokenValue,str,isFlag);
                 if (quotednv.setQuotedValue();
                 return nv;
             }  else {
                 // JvB: flag parameters must be empty string!
                 return new NameValue(name.tokenValue,"",true);
             }
         } catch (ParseException ex) {
             return new NameValue(name.tokenValue,null,false);
         }
 
         } finally {
             if (dbg_leave("nameValue");
         }
 
 
     }
 
    protected  void dbg_enter(String rule) {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i <  ; i++)
            stringBuilder.append(">");
        if ()  {
            ..println(
                stringBuilder + rule +
                "\nlexer buffer = \n" +
                .getRest());
        }
        ++;
    }
    protected void dbg_leave(String rule) {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i <  ; i++)
            stringBuilder.append("<");
        if ()  {
            ..println(
                stringBuilder +
                rule +
                "\nlexer buffer = \n" +
                .getRest());
        }
         --;
    }
    protected NameValue nameValue() throws ParseException  {
        return nameValue('=');
    }
    protected void peekLine(String rule) {
        if () {
            Debug.println(rule +" " + .peekLine());
        }
    }
New to GrepCode? Check out our FAQ X