edu.upenn.gloDB.parser
Class Parser

java.lang.Object
  extended by edu.upenn.gloDB.parser.Parser
All Implemented Interfaces:
ParserConstants

public class Parser
extends java.lang.Object
implements ParserConstants

The parser is created using javacc. To make changes to the parser, the files Parser.jj, Operation.java, Operator.java, and ParserUtils.java are the only files that should be edited. All other files are recreated by javacc from Parser.jj. After Parser.jj is edited, makeParser.bat should be run. This will update the relevant parser java files. After makeParser is run, then this file should be run to add the parser changes into gloDB.jar.


Nested Class Summary
(package private) static class Parser.JJCalls
           
private static class Parser.LookaheadSuccess
           
 
Field Summary
private  java.lang.String id
          The ID of the new Track object.
private  Parser.JJCalls[] jj_2_rtns
           
private  int jj_endpos
           
private  java.util.Vector jj_expentries
           
private  int[] jj_expentry
           
private  int jj_gc
           
private  int jj_gen
           
(package private)  SimpleCharStream jj_input_stream
           
private  int jj_kind
           
private  int jj_la
           
private  int[] jj_la1
           
private static int[] jj_la1_0
           
private static int[] jj_la1_1
           
private  Token jj_lastpos
           
private  int[] jj_lasttokens
           
private  Parser.LookaheadSuccess jj_ls
           
 Token jj_nt
           
private  int jj_ntk
           
private  boolean jj_rescan
           
private  Token jj_scanpos
           
private  boolean jj_semLA
           
 boolean lookingAhead
           
private  java.util.ArrayList parsed
          An ArrayList containing the parsed Tracks.
private  java.util.HashMap sequencePool
          The set of Sequences to be used.
 Token token
           
 ParserTokenManager token_source
           
private  java.util.HashMap trackPool
          The set of Tracks to be used.
 
Fields inherited from interface edu.upenn.gloDB.parser.ParserConstants
allTRACKS, AND, ASSIGN, bAND, bMINUS, bNOT, bOR, DEFAULT, EOF, EOL, EQUALS, FROM, HOOK, IGNORE, INTEGER, LENGTH, lGROUP, lLENGTH, lLENGTH2, lREPEAT, lSET, MINUS, nINTEGER, OBJECT, OR, PLUS, POS, POSITIONS, REPEATED, rGROUP, rLENGTH, rREPEAT, rSET, sAND, SEPARATOR, SEQUENCE, sMINUS, SP0, SP1, STAR, TIMES, tokenImage, TRACK, WITHIN
 
Constructor Summary
Parser(java.io.InputStream stream)
           
Parser(ParserTokenManager tm)
           
Parser(java.io.Reader stream)
           
Parser(java.lang.String parse)
          Construct a new Parser using trackPool as the set Tracks to search.
 
Method Summary
private  void addLength(int a, int b, int c, int d)
          Deal with length/from values.
private  void addRepeat(int a, int b, int c, int d)
          Deal with repeat/within values.
 void allTracks()
           
 Operation densityRepeat(Operation operation)
           
 void disable_tracing()
           
 void enable_tracing()
           
 void expr(java.util.ArrayList ops)
           
 Operation feature()
           
 java.lang.String formatParsed()
           
 ParseException generateParseException()
           
 java.lang.String getId()
           
 Token getNextToken()
           
 Token getToken(int index)
           
 Operation group()
           
 void ignore()
           
private  boolean jj_2_1(int xla)
           
private  boolean jj_3_1()
           
private  boolean jj_3R_3()
           
private  boolean jj_3R_4()
           
private  void jj_add_error_token(int kind, int pos)
           
private  Token jj_consume_token(int kind)
           
private static void jj_la1_0()
           
private static void jj_la1_1()
           
private  int jj_ntk()
           
private  void jj_rescan_token()
           
private  void jj_save(int index, int xla)
           
private  boolean jj_scan_token(int kind)
           
 Operation length(Operation operation)
           
 void negate()
           
 int nValue()
           
 int operator()
           
 Operation operatorRepeat(Operation operation)
           
 Operation opExpr()
           
 int oRepeat()
           
 java.util.ArrayList parseLine()
           
 int position()
           
 void ReInit(java.io.InputStream stream)
           
 void ReInit(ParserTokenManager tm)
           
 void ReInit(java.io.Reader stream)
           
 java.util.ArrayList run(java.util.HashMap trackPool, java.util.HashMap sequencePool)
          Performs the parsing.
 Operation sequence(Operation operation)
           
 Sequence sequenceRef()
           
private  java.lang.String stripDescriptor(java.lang.String a)
          Chop off preceeding descriptor.
 java.lang.String toString()
          Returns the string to be parsed and the same string having been parsed information.
 Operation track(int type)
           
 java.lang.String trackAssign()
           
 Track trackRef()
           
private  boolean validOperation(java.util.ArrayList ops)
          Test if 'ops' contains any Operations that lack a Feature.
 int value()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parsed

private java.util.ArrayList parsed
An ArrayList containing the parsed Tracks.


trackPool

private java.util.HashMap trackPool
The set of Tracks to be used.


sequencePool

private java.util.HashMap sequencePool
The set of Sequences to be used.


id

private java.lang.String id
The ID of the new Track object.


token_source

public ParserTokenManager token_source

jj_input_stream

SimpleCharStream jj_input_stream

token

public Token token

jj_nt

public Token jj_nt

jj_ntk

private int jj_ntk

jj_scanpos

private Token jj_scanpos

jj_lastpos

private Token jj_lastpos

jj_la

private int jj_la

lookingAhead

public boolean lookingAhead

jj_semLA

private boolean jj_semLA

jj_gen

private int jj_gen

jj_la1

private final int[] jj_la1

jj_la1_0

private static int[] jj_la1_0

jj_la1_1

private static int[] jj_la1_1

jj_2_rtns

private final Parser.JJCalls[] jj_2_rtns

jj_rescan

private boolean jj_rescan

jj_gc

private int jj_gc

jj_ls

private final Parser.LookaheadSuccess jj_ls

jj_expentries

private java.util.Vector jj_expentries

jj_expentry

private int[] jj_expentry

jj_kind

private int jj_kind

jj_lasttokens

private int[] jj_lasttokens

jj_endpos

private int jj_endpos
Constructor Detail

Parser

public Parser(java.lang.String parse)
       throws ParseException
Construct a new Parser using trackPool as the set Tracks to search.

Throws:
ParseException

Parser

public Parser(java.io.InputStream stream)

Parser

public Parser(java.io.Reader stream)

Parser

public Parser(ParserTokenManager tm)
Method Detail

getId

public java.lang.String getId()

run

public java.util.ArrayList run(java.util.HashMap trackPool,
                               java.util.HashMap sequencePool)
                        throws ParseException
Performs the parsing. Returns the ops ArrayList which is a list of operations to perform. The first object in the ArrayList is the ID of the new Track.

Throws:
ParseException

validOperation

private boolean validOperation(java.util.ArrayList ops)
Test if 'ops' contains any Operations that lack a Feature.


toString

public java.lang.String toString()
Returns the string to be parsed and the same string having been parsed information.

Overrides:
toString in class java.lang.Object

addLength

private void addLength(int a,
                       int b,
                       int c,
                       int d)
Deal with length/from values.


addRepeat

private void addRepeat(int a,
                       int b,
                       int c,
                       int d)
Deal with repeat/within values.


stripDescriptor

private java.lang.String stripDescriptor(java.lang.String a)
Chop off preceeding descriptor.


formatParsed

public java.lang.String formatParsed()

parseLine

public final java.util.ArrayList parseLine()
                                    throws ParseException
Throws:
ParseException

trackAssign

public final java.lang.String trackAssign()
                                   throws ParseException
Throws:
ParseException

expr

public final void expr(java.util.ArrayList ops)
                throws ParseException
Throws:
ParseException

opExpr

public final Operation opExpr()
                       throws ParseException
Throws:
ParseException

track

public final Operation track(int type)
                      throws ParseException
Throws:
ParseException

group

public final Operation group()
                      throws ParseException
Throws:
ParseException

feature

public final Operation feature()
                        throws ParseException
Throws:
ParseException

densityRepeat

public final Operation densityRepeat(Operation operation)
                              throws ParseException
Throws:
ParseException

operatorRepeat

public final Operation operatorRepeat(Operation operation)
                               throws ParseException
Throws:
ParseException

length

public final Operation length(Operation operation)
                       throws ParseException
Throws:
ParseException

sequence

public final Operation sequence(Operation operation)
                         throws ParseException
Throws:
ParseException

allTracks

public final void allTracks()
                     throws ParseException
Throws:
ParseException

trackRef

public final Track trackRef()
                     throws ParseException
Throws:
ParseException

position

public final int position()
                   throws ParseException
Throws:
ParseException

sequenceRef

public final Sequence sequenceRef()
                           throws ParseException
Throws:
ParseException

ignore

public final void ignore()
                  throws ParseException
Throws:
ParseException

negate

public final void negate()
                  throws ParseException
Throws:
ParseException

operator

public final int operator()
                   throws ParseException
Throws:
ParseException

oRepeat

public final int oRepeat()
                  throws ParseException
Throws:
ParseException

value

public final int value()
                throws ParseException
Throws:
ParseException

nValue

public final int nValue()
                 throws ParseException
Throws:
ParseException

jj_2_1

private final boolean jj_2_1(int xla)

jj_3R_4

private final boolean jj_3R_4()

jj_3R_3

private final boolean jj_3R_3()

jj_3_1

private final boolean jj_3_1()

jj_la1_0

private static void jj_la1_0()

jj_la1_1

private static void jj_la1_1()

ReInit

public void ReInit(java.io.InputStream stream)

ReInit

public void ReInit(java.io.Reader stream)

ReInit

public void ReInit(ParserTokenManager tm)

jj_consume_token

private final Token jj_consume_token(int kind)
                              throws ParseException
Throws:
ParseException

jj_scan_token

private final boolean jj_scan_token(int kind)

getNextToken

public final Token getNextToken()

getToken

public final Token getToken(int index)

jj_ntk

private final int jj_ntk()

jj_add_error_token

private void jj_add_error_token(int kind,
                                int pos)

generateParseException

public ParseException generateParseException()

enable_tracing

public final void enable_tracing()

disable_tracing

public final void disable_tracing()

jj_rescan_token

private final void jj_rescan_token()

jj_save

private final void jj_save(int index,
                           int xla)



Copyright 2012 Stephen Fisher and Junhyong Kim, University of Pennsylvania. All Rights Reserved.