Update of /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13786/src/org/epic/debug/varparser Modified Files: add.g PerlParserSimple.java PerlBaseLexer.java PerlDebugVar.java AddTokenTypes.txt AddTokenTypes.java PerlVarParser.java Log Message: Make variable parsing more robust Index: add.g =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser/add.g,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- add.g 3 Jul 2004 11:52:38 -0000 1.14 +++ add.g 11 Jul 2004 06:36:22 -0000 1.15 @@ -37,7 +37,12 @@ java.util.ArrayList mVarList = null; //new java.util.ArrayList(); org.eclipse.debug.core.model.IDebugElement mDebugger; int mScope; - + PerlBaseLexer mLex; + + public void setLex(PerlBaseLexer fLex) + { + mLex = fLex; + } public void printConsole(String fString) { //System.out.println(fString); @@ -139,33 +144,56 @@ topLevel: (NL)*( namedVar (NL)* )* EOF; namedVar: namedScalar | namedArray | namedHash | fileHandle; -namedArray: name:ARRAY_NAME{addVar(name.getText(),"Array");printConsole("++++ARRAY:"+name.getText()+"\n");} EQ PAREN_OP NL (arrayEntries)? {finalizeVar(); printConsole("---- ARRAY:"+name.getText()+"\n");} PAREN_CL; -arrayReference: ARRAY_REF name:ADR NL {addVar("Array->"+name.getText()," ");printConsole("++++ARRAYREF:"+name.getText()+"\n");}(arrayEntries)? {finalizeVar();printConsole("----ARRAYREF:"+name.getText()+"\n");}; +namedArray: name:ARRAY_NAME{addVar(name.getText(),"Array");printConsole("++++ARRAY:"+name.getText()+"\n");} name_noeq EQ val_noponl NL( (arrayEntries)? PAREN_CL)? {finalizeVar(); printConsole("---- ARRAY:"+name.getText()+"\n");}; +arrayReference: ARRAY_REF name:ADR (~NL)* NL {addVar("Array->"+name.getText()," ");printConsole("++++ARRAYREF:"+name.getText()+"\n");}(arrayEntries)? {finalizeVar();printConsole("----ARRAYREF:"+name.getText()+"\n");}; arrayEntries: INDENT_START (arrayEntry)* INDENT_END | INDENT_START REF_SYMB PURE_NAME NL INDENT_END; -arrayEntry: start:NUMBER {addVar("["+start.getText()+"]",null);printConsole("INDEX:"+start.getText());} value {finalizeVar();}; +arrayEntry: start:NUMBER {addVar("["+start.getText()+"]",null);printConsole("INDEX:"+start.getText());} val_nonl NL{finalizeVar();}; -namedHash: name:HASH_NAME{addVar(name.getText(),"Hash");printConsole("++++HASH:"+name.getText()+"\n");} EQ PAREN_OP NL (hashEntries)? {finalizeVar();printConsole("----HASH:"+name.getText()+"\n");}PAREN_CL; -hashReference: HASH_REF name:ADR NL {addVar("Hash->"+name.getText()," ");printConsole("++++HASHREF:"+name.getText()+"\n");}(hashEntries)?{finalizeVar();printConsole("---HASHREF:"+name.getText()+"\n");}; +namedHash: name:HASH_NAME{addVar(name.getText(),"Hash");printConsole("++++HASH:"+name.getText()+"\n");} name_noeq EQ val_noponl NL( (hashEntries) PAREN_CL)? {finalizeVar();printConsole("----HASH:"+name.getText()+"\n");}; +hashReference: HASH_REF name:ADR (~NL)* NL {addVar("Hash->"+name.getText()," ");printConsole("++++HASHREF:"+name.getText()+"\n");}(hashEntries)?{finalizeVar();printConsole("---HASHREF:"+name.getText()+"\n");}; hashEntries: INDENT_START (hashEntry)* INDENT_END | INDENT_START REF_SYMB PURE_NAME NL INDENT_END ; -hashEntry: start:STRING{printConsole("H["+start.getColumn()+"]");} KEY_ASSIGN {addVar("\'"+start.getText()+"\'","");printConsole("KEY:"+start.getText());}value {finalizeVar();}; +hashEntry: start:STRING{addVar(start.getText(),"");printConsole("H["+start.getColumn()+"]");}name_noka KEY_ASSIGN{printConsole("KEY:"+start.getText());}value {finalizeVar();}; -namedScalar: name:SCALAR_NAME{addVar(name.getText(),"Scalar");printConsole("++++SCALAR:"+name.getText()+"\n");} ( EQ value {finalizeVar();printConsole("----SCALAR:"+name.getText()+"\n");} | EQ pn2:PURE_NAME EQ {appendName("="+pn2.getText());} refs {finalizeVar();printConsole("----SCALAR:"+name.getText()+"\n");}); +namedScalar: name:SCALAR_NAME{addVar(name.getText(),"Scalar");printConsole("++++SCALAR:"+name.getText()+"\n");} EQ value {finalizeVar();printConsole("----SCALAR:"+name.getText()+"\n");}; scalarRef: SCALAR_REF name:ADR{addVar("Scalar->"+name.getText()," ");printConsole("++++SCALARREF:"+name.getText()+"\n");} NL INDENT_START REF_SYMB value {finalizeVar();printConsole("----SCALARREF:"+name.getText()+"\n");}INDENT_END; -codeRef: CODE_REF name:ADR{addVar("Code->"+name.getText()," ");setVal(name.getText(),"CodeRef");printConsole("++++CODEREF:"+name.getText()+"\n");} NL INDENT_START REF_SYMB (a:MODULE_NAME{appendVal(a.getText());})? (( b:PURE_NAME {appendVal(b.getText());}) | (c:NUMBER{appendVal(c.getText());}) | (d:ADR{appendVal(d.getText());}))* NL{finalizeVar();printConsole("----CodeREF:"+name.getText()+"\n");}INDENT_END; +codeRef: CODE_REF name:ADR{addVar("Code->"+name.getText()," ");setVal(name.getText(),"CodeRef");printConsole("++++CODEREF:"+name.getText()+"\n");} NL INDENT_START REF_SYMB val_nonl {finalizeVar();printConsole("----CodeREF:"+name.getText()+"\n");}NL INDENT_END; ref: REF name:ADR{printConsole("++++REF_SYMB:"+name.getText()+"\n");} NL INDENT_START REF_SYMB value {printConsole("----REF_SYMB:"+name.getText()+"\n");}INDENT_END; fileHandle: FILE_HANDLE PAREN_OP name:PURE_NAME{addVar(name.getText(),"FileHandle");printConsole("++++FH:"+name.getText()+"\n");} PAREN_CL KEY_ASSIGN val:FILE_NO{setVal(val.getText(),"FileHandle"); finalizeVar();printConsole("++++FNO_SYMB:"+val.getText()+"\n");}; fileHandleRef: name:FILE_REF{addVar("->"+name.getText(),"FileHandleRef");printConsole("++++FRef:"+name.getText()+"\n");} NL (INDENT_START fileHandle NL INDENT_END)? {finalizeVar();}; -globRef: GLOB name:ADR{addVar("GLOB->"+name.getText()," ");printConsole("++++Glob_SYMB:"+name.getText()+"\n");} NL INDENT_START REF_SYMB (FILE_REF | PURE_NAME | ) NL INDENT_START (fileHandle|value) NL INDENT_END INDENT_END{finalizeVar();printConsole("----Glob_SYMB:"+name.getText()+"\n");}; +globRef: GLOB name:ADR{addVar("GLOB->"+name.getText()," ");printConsole("++++Glob_SYMB:"+name.getText()+"\n");} name_nonl NL INDENT_START REF_SYMB name_nonl NL (INDENT_START val_nonl NL INDENT_END)? INDENT_END{finalizeVar();printConsole("----Glob_SYMB:"+name.getText()+"\n");}; -value: p:PURE_NAME{setVal(p.getText(),"");System.out.print(" VAL:"+p.getText());} ((p2:PURE_NAME){appendVal(" "+p2.getText());printConsole(" "+p2.getText());})? {printConsole("\n");}NL | refs | s:STRING{setVal(s.getText(),"Scalar");printConsole(" VAL:"+s.getText()+"\n");} NL | n:NUMBER{setVal(n.getText(),"Scalar");printConsole(" VAL_NUM:"+n.getText()+"\n");}NL | NL{setVal("undef","Scalar");}; +//value: value_ref | value_simple | value_none | val_nonl NL; +value: (HASH_REF | SCALAR_REF | CODE_REF | REF | FILE_REF | GLOB )=> refs + | (STRING NL)=>s:STRING{setVal(s.getText(),"Scalar");printConsole(" VAL:"+s.getText()+"\n");} NL + | (NUMBER NL)=>n:NUMBER{setVal(n.getText(),"Scalar");printConsole(" VAL_NUM:"+n.getText()+"\n");}NL + | (FILE_HANDLE)=>fileHandle NL + | (NL)=> NL{setVal("undef","Scalar");} + | (~(NL|EQ) EQ)=> {mLex.mIgnoreWS=false;}(m:~(NL|EQ){appendVal(m.getText());})+{mLex.mIgnoreWS=true;} + EQ + ((HASH_REF | SCALAR_REF | CODE_REF | REF | FILE_REF | GLOB )=> refs|val_nonl NL) + | val_nonl NL; + + +// | ((~(NL|EQ|HASH_REF | SCALAR_REF | CODE_REF | REF | FILE_REF | GLOB))+ EQ)=> EQ pn2:PURE_NAME EQ {appendName("="+pn2.getText());} refs + //value_simple:(STRING NL)=>STRING{setVal(s.getText(),"Scalar");printConsole(" VAL:"+s.getText()+"\n");} NL; +// | n:NUMBER{setVal(n.getText(),"Scalar");printConsole(" VAL_NUM:"+n.getText()+"\n");}NL +//value_none: (NL)=> NL{setVal("undef","Scalar");}; refs: (hashReference | arrayReference | scalarRef | codeRef | ref | fileHandleRef | globRef); +//val_nonl: {mLex.mIgnoreWS=false;}(n:~NL{appendVal(n.getText());})*{mLex.mIgnoreWS=true;}; +val_nonl: {mLex.mIgnoreWS=false;}(n:~NL{appendVal(n.getText());})*{mLex.mIgnoreWS=true;}; +val_noponl: {mLex.mIgnoreWS=false;}(n:~(NL|PAREN_OP){appendVal(n.getText());}| PAREN_OP)*{mLex.mIgnoreWS=true;}; + + +name_noeq: (n:~EQ{appendName(n.getText());})*; +name_noka: (n:~KEY_ASSIGN{appendName(n.getText());})*; +name_nonl: (n:~NL{appendName(n.getText());})*; //refs: (PURE_NAME EQ)? (hashReference | arrayReference | scalarRef | codeRef | ref | fileHandleRef); // ---------------------------------------------------------------------------- // the lexer @@ -187,6 +215,7 @@ int mCurrentIndentLevels=0; int mIndentEndToSend =0; java.util.Stack mIndentStack = new java.util.Stack(); + boolean mIgnoreWS; } //protected PREFIXED_NAME: (~('\n' | ' ' | '\t' |'='))+; @@ -226,7 +255,10 @@ )+ { if( makeToken(WS).getColumn() != 1) - $setType(Token.SKIP); + { + if(mIgnoreWS)$setType(Token.SKIP); + else $setType(PURE_NAME); + } else { int new_col = text.length()-_begin; Index: PerlParserSimple.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser/PerlParserSimple.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- PerlParserSimple.java 4 Jul 2004 18:15:01 -0000 1.31 +++ PerlParserSimple.java 11 Jul 2004 06:36:22 -0000 1.32 @@ -21,7 +21,12 @@ java.util.ArrayList mVarList = null; //new java.util.ArrayList(); org.eclipse.debug.core.model.IDebugElement mDebugger; int mScope; - + PerlBaseLexer mLex; + + public void setLex(PerlBaseLexer fLex) + { + mLex = fLex; + } public void printConsole(String fString) [...1570 lines suppressed...] + return data; + } + public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13()); + private static final long[] mk_tokenSet_14() { + long[] data = { 536887040L, 0L}; + return data; + } + public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14()); + private static final long[] mk_tokenSet_15() { + long[] data = { 137438953458L, 0L, 0L, 0L}; + return data; + } + public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15()); + private static final long[] mk_tokenSet_16() { + long[] data = { 137435807728L, 0L, 0L, 0L}; + return data; + } + public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16()); } Index: PerlVarParser.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser/PerlVarParser.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- PerlVarParser.java 3 Jul 2004 08:06:09 -0000 1.9 +++ PerlVarParser.java 11 Jul 2004 06:36:22 -0000 1.10 @@ -134,9 +134,10 @@ try{ // Construct the lexer PerlBaseLexer lex = new PerlLexer ( new StringReader( fText ) ); - + lex.mIgnoreWS=true; // construct the parser par = new PerlParser (lex); + par.setLex(lex); par.setDebugger(mDebugger); par.setScope(fScope); par.setVarList(fVarList); Index: PerlDebugVar.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser/PerlDebugVar.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- PerlDebugVar.java 20 May 2004 12:49:00 -0000 1.3 +++ PerlDebugVar.java 11 Jul 2004 06:36:22 -0000 1.4 @@ -63,7 +63,7 @@ { try{ - System.out.println("-*-Comparing Var"+fVarOrg.getName()+"/"+getName()); + //System.out.println("-*-Comparing Var"+fVarOrg.getName()+"/"+getName()); if( ! getName().equals(fVarOrg.getName()) ) { System.err.println("*****Error****:Comparing Variables with different Names"); Index: AddTokenTypes.txt =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser/AddTokenTypes.txt,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- AddTokenTypes.txt 2 Jul 2004 21:32:22 -0000 1.4 +++ AddTokenTypes.txt 11 Jul 2004 06:36:22 -0000 1.5 @@ -18,13 +18,13 @@ FILE_NO=19 NL=20 EQ=21 -PAREN_OP=22 -PAREN_CL=23 -ADR=24 -REF_SYMB=25 -PURE_NAME=26 -STRING=27 -KEY_ASSIGN=28 +PAREN_CL=22 +ADR=23 +REF_SYMB=24 +PURE_NAME=25 +STRING=26 +KEY_ASSIGN=27 +PAREN_OP=28 FILE_REF=29 PREFIXED_NAME=30 PURE_NAME_CHAR=31 Index: PerlBaseLexer.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser/PerlBaseLexer.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- PerlBaseLexer.java 4 Jul 2004 18:15:01 -0000 1.31 +++ PerlBaseLexer.java 11 Jul 2004 06:36:22 -0000 1.32 @@ -31,6 +31,7 @@ int mCurrentIndentLevels=0; int mIndentEndToSend =0; java.util.Stack mIndentStack = new java.util.Stack(); + boolean mIgnoreWS; public PerlBaseLexer(InputStream in) { this(new ByteBuffer(in)); } @@ -171,8 +172,8 @@ int _saveIndex; { - int _cnt50=0; - _loop50: + int _cnt2748=0; + _loop2748: do { if ((_tokenSet_1.member(LA(1)))) { { @@ -180,10 +181,10 @@ } } else { - if ( _cnt50>=1 ) { break _loop50; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt2748>=1 ) { break _loop2748; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt50++; + _cnt2748++; } while (true); } if ( _createToken && _token==null && _ttype!=Token.SKIP ) { @@ -254,10 +255,10 @@ _ttype = MODULE_NAME; int _saveIndex; - boolean synPredMatched57 = false; + boolean synPredMatched2755 = false; if (((LA(1)=='A') && (LA(2)=='R') && (LA(3)=='R') && (LA(4)=='A'))) { - int _m57 = mark(); - synPredMatched57 = true; + int _m2755 = mark(); + synPredMatched2755 = true; inputState.guessing++; try { { @@ -265,22 +266,22 @@ } } catch (RecognitionException pe) { - synPredMatched57 = false; + synPredMatched2755 = false; } - rewind(_m57); + rewind(_m2755); inputState.guessing--; } - if ( synPredMatched57 ) { + if ( synPredMatched2755 ) { match("ARRAY"); if ( inputState.guessing==0 ) { _ttype = ARRAY_REF; } } else { - boolean synPredMatched59 = false; + boolean synPredMatched2757 = false; if (((LA(1)=='S') && (LA(2)=='C') && (LA(3)=='A') && (LA(4)=='L'))) { - int _m59 = mark(); - synPredMatched59 = true; + int _m2757 = mark(); + synPredMatched2757 = true; inputState.guessing++; try { { @@ -288,22 +289,22 @@ } } catch (RecognitionException pe) { - synPredMatched59 = false; + synPredMatched2757 = false; } - rewind(_m59); + rewind(_m2757); inputState.guessing--; } - if ( synPredMatched59 ) { + if ( synPredMatched2757 ) { match("SCALAR"); if ( inputState.guessing==0 ) { _ttype = SCALAR_REF; } } else { - boolean synPredMatched61 = false; + boolean synPredMatched2759 = false; if (((LA(1)=='H') && (LA(2)=='A') && (LA(3)=='S') && (LA(4)=='H'))) { - int _m61 = mark(); - synPredMatched61 = true; + int _m2759 = mark(); + synPredMatched2759 = true; inputState.guessing++; try { { @@ -311,22 +312,22 @@ } } catch (RecognitionException pe) { - synPredMatched61 = false; + synPredMatched2759 = false; } - rewind(_m61); + rewind(_m2759); inputState.guessing--; } - if ( synPredMatched61 ) { + if ( synPredMatched2759 ) { match("HASH"); if ( inputState.guessing==0 ) { _ttype = HASH_REF; } } else { - boolean synPredMatched63 = false; + boolean synPredMatched2761 = false; if (((LA(1)=='C') && (LA(2)=='O') && (LA(3)=='D') && (LA(4)=='E'))) { - int _m63 = mark(); - synPredMatched63 = true; + int _m2761 = mark(); + synPredMatched2761 = true; inputState.guessing++; try { { @@ -334,22 +335,22 @@ } } catch (RecognitionException pe) { - synPredMatched63 = false; + synPredMatched2761 = false; } - rewind(_m63); + rewind(_m2761); inputState.guessing--; } - if ( synPredMatched63 ) { + if ( synPredMatched2761 ) { match("CODE"); if ( inputState.guessing==0 ) { _ttype = CODE_REF; } } else { - boolean synPredMatched67 = false; + boolean synPredMatched2765 = false; if (((LA(1)=='G') && (LA(2)=='L') && (LA(3)=='O') && (LA(4)=='B'))) { - int _m67 = mark(); - synPredMatched67 = true; + int _m2765 = mark(); + synPredMatched2765 = true; inputState.guessing++; try { { @@ -357,22 +358,22 @@ } } catch (RecognitionException pe) { - synPredMatched67 = false; + synPredMatched2765 = false; } - rewind(_m67); + rewind(_m2765); inputState.guessing--; } - if ( synPredMatched67 ) { + if ( synPredMatched2765 ) { match("GLOB"); if ( inputState.guessing==0 ) { _ttype = GLOB; } } else { - boolean synPredMatched69 = false; + boolean synPredMatched2767 = false; if (((LA(1)=='F') && (LA(2)=='i') && (LA(3)=='l') && (LA(4)=='e'))) { - int _m69 = mark(); - synPredMatched69 = true; + int _m2767 = mark(); + synPredMatched2767 = true; inputState.guessing++; try { { @@ -380,22 +381,22 @@ } } catch (RecognitionException pe) { - synPredMatched69 = false; + synPredMatched2767 = false; } - rewind(_m69); + rewind(_m2767); inputState.guessing--; } - if ( synPredMatched69 ) { + if ( synPredMatched2767 ) { match("FileHandle"); if ( inputState.guessing==0 ) { _ttype = FILE_HANDLE; } } else { - boolean synPredMatched71 = false; + boolean synPredMatched2769 = false; if (((LA(1)=='f') && (LA(2)=='i') && (LA(3)=='l') && (LA(4)=='e'))) { - int _m71 = mark(); - synPredMatched71 = true; + int _m2769 = mark(); + synPredMatched2769 = true; inputState.guessing++; try { { @@ -403,27 +404,27 @@ } } catch (RecognitionException pe) { - synPredMatched71 = false; + synPredMatched2769 = false; } - rewind(_m71); + rewind(_m2769); inputState.guessing--; } - if ( synPredMatched71 ) { + if ( synPredMatched2769 ) { { match("fileno("); } { - int _cnt74=0; - _loop74: + int _cnt2772=0; + _loop2772: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { - if ( _cnt74>=1 ) { break _loop74; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt2772>=1 ) { break _loop2772; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt74++; + _cnt2772++; } while (true); } match(')'); @@ -432,10 +433,10 @@ } } else { - boolean synPredMatched65 = false; + boolean synPredMatched2763 = false; if (((LA(1)=='R') && (LA(2)=='E') && (LA(3)=='F') && (true))) { - int _m65 = mark(); - synPredMatched65 = true; + int _m2763 = mark(); + synPredMatched2763 = true; inputState.guessing++; try { { @@ -443,12 +444,12 @@ } } catch (RecognitionException pe) { - synPredMatched65 = false; + synPredMatched2763 = false; } - rewind(_m65); + rewind(_m2763); inputState.guessing--; } - if ( synPredMatched65 ) { + if ( synPredMatched2763 ) { match("REF"); if ( inputState.guessing==0 ) { _ttype = REF; @@ -480,13 +481,13 @@ mFIRST_PURE_NAME_CHAR(false); } { - _loop82: + _loop2780: do { if ((_tokenSet_2.member(LA(1)))) { mPURE_NAME_CHAR(false); } else { - break _loop82; + break _loop2780; } } while (true); @@ -535,8 +536,8 @@ match("(0x"); { - int _cnt85=0; - _loop85: + int _cnt2783=0; + _loop2783: do { switch ( LA(1)) { case '0': case '1': case '2': case '3': @@ -554,10 +555,10 @@ } default: { - if ( _cnt85>=1 ) { break _loop85; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt2783>=1 ) { break _loop2783; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } - _cnt85++; + _cnt2783++; } while (true); } match(')'); @@ -629,7 +630,7 @@ match('\''); { - _loop93: + _loop2791: do { if ((_tokenSet_3.member(LA(1)))) { { @@ -642,7 +643,7 @@ mCHAR_ESC(false); } else { - break _loop93; + break _loop2791; } } while (true); @@ -662,7 +663,7 @@ match('\"'); { - _loop98: + _loop2796: do { if ((_tokenSet_4.member(LA(1)))) { { @@ -675,7 +676,7 @@ mCHAR_ESC(false); } else { - break _loop98; + break _loop2796; } } while (true); @@ -763,34 +764,34 @@ int _saveIndex; { - int _cnt101=0; - _loop101: + int _cnt2799=0; + _loop2799: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { - if ( _cnt101>=1 ) { break _loop101; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt2799>=1 ) { break _loop2799; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt101++; + _cnt2799++; } while (true); } { if ((LA(1)=='.')) { match('.'); { - int _cnt104=0; - _loop104: + int _cnt2802=0; + _loop2802: do { if (((LA(1) >= '0' && LA(1) <= '9'))) { matchRange('0','9'); } else { - if ( _cnt104>=1 ) { break _loop104; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt2802>=1 ) { break _loop2802; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt104++; + _cnt2802++; } while (true); } } @@ -824,8 +825,8 @@ int _saveIndex; { - int _cnt108=0; - _loop108: + int _cnt2806=0; + _loop2806: do { switch ( LA(1)) { case ' ': @@ -840,16 +841,19 @@ } default: { - if ( _cnt108>=1 ) { break _loop108; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt2806>=1 ) { break _loop2806; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } - _cnt108++; + _cnt2806++; } while (true); } if ( inputState.guessing==0 ) { if( makeToken(WS).getColumn() != 1) - _ttype = Token.SKIP; + { + if(mIgnoreWS)_ttype = Token.SKIP; + else _ttype = PURE_NAME; + } else { int new_col = text.length()-_begin; Index: AddTokenTypes.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/varparser/AddTokenTypes.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- AddTokenTypes.java 2 Jul 2004 21:32:22 -0000 1.4 +++ AddTokenTypes.java 11 Jul 2004 06:36:22 -0000 1.5 @@ -21,13 +21,13 @@ int FILE_NO = 19; int NL = 20; int EQ = 21; - int PAREN_OP = 22; - int PAREN_CL = 23; - int ADR = 24; - int REF_SYMB = 25; - int PURE_NAME = 26; - int STRING = 27; - int KEY_ASSIGN = 28; + int PAREN_CL = 22; + int ADR = 23; + int REF_SYMB = 24; + int PURE_NAME = 25; + int STRING = 26; + int KEY_ASSIGN = 27; + int PAREN_OP = 28; int FILE_REF = 29; int PREFIXED_NAME = 30; int PURE_NAME_CHAR = 31; |