internal override void RemoveChild(Node child) { if (_base_ == child) { _base_ = null; return; } if (_eof_ == child) { _eof_ = null; return; } }
public void SetEOF(EOF node) { if (_eof_ != null) { _eof_.Parent(null); } if (node != null) { if (node.Parent() != null) { node.Parent().RemoveChild(node); } node.Parent(this); } _eof_ = node; }
public Start( PSourceFile _base_, EOF _eof_) { SetPSourceFile(_base_); SetEOF(_eof_); }
public virtual void CaseEOF(EOF node) { DefaultCase(node); }
protected virtual Token GetToken() { int dfa_state = 0; int start_pos = pos; int start_line = line; int accept_state = -1; int accept_token = -1; int accept_length = -1; int accept_pos = -1; int accept_line = -1; int[][][] gotoTable = Lexer.gotoTable[currentState.id()]; int[] accept = Lexer.accept[currentState.id()]; text.Length = 0; while (true) { int c = GetChar(); if (c != -1) { switch (c) { case 10: if (cr) { cr = false; } else { line++; pos = 0; } break; case 13: line++; pos = 0; cr = true; break; default: pos++; cr = false; break; }; text.Append((char)c); do { int oldState = (dfa_state < -1) ? (-2 - dfa_state) : dfa_state; dfa_state = -1; int[][] tmp1 = gotoTable[oldState]; int low = 0; int high = tmp1.Length - 1; while (low <= high) { int middle = (low + high) / 2; int[] tmp2 = tmp1[middle]; if (c < tmp2[0]) { high = middle - 1; } else if (c > tmp2[1]) { low = middle + 1; } else { dfa_state = tmp2[2]; break; } } } while (dfa_state < -1); } else { dfa_state = -1; } if (dfa_state >= 0) { if (accept[dfa_state] != -1) { accept_state = dfa_state; accept_token = accept[dfa_state]; accept_length = text.Length; accept_pos = pos; accept_line = line; } } else { if (accept_state != -1) { switch (accept_token) { case 0: { Token token = New0( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 1: { Token token = New1( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 2: { Token token = New2( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 3: { Token token = New3( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 4: { Token token = New4( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 5: { Token token = New5( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 6: { Token token = New6( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 7: { Token token = New7( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 8: { Token token = New8( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 9: { Token token = New9( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 10: { Token token = New10( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 11: { Token token = New11( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 12: { Token token = New12( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 13: { Token token = New13( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 14: { Token token = New14( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 15: { Token token = New15( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 16: { Token token = New16( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 17: { Token token = New17( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 18: { Token token = New18( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 19: { Token token = New19( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 20: { Token token = New20( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 21: { Token token = New21( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 22: { Token token = New22( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 23: { Token token = New23( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 24: { Token token = New24( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 25: { Token token = New25( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 26: { Token token = New26( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 27: { Token token = New27( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 28: { Token token = New28( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 29: { Token token = New29( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 30: { Token token = New30( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 31: { Token token = New31( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 32: { Token token = New32( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 33: { Token token = New33( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 34: { Token token = New34( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 35: { Token token = New35( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 36: { Token token = New36( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 37: { Token token = New37( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 38: { Token token = New38( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 39: { Token token = New39( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 40: { Token token = New40( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 41: { Token token = New41( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 42: { Token token = New42( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 43: { Token token = New43( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 44: { Token token = New44( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 45: { Token token = New45( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 46: { Token token = New46( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 47: { Token token = New47( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 48: { Token token = New48( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 49: { Token token = New49( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 50: { Token token = New50( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 51: { Token token = New51( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 52: { Token token = New52( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 53: { Token token = New53( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 54: { Token token = New54( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 55: { Token token = New55( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 56: { Token token = New56( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 57: { Token token = New57( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 58: { Token token = New58( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 59: { Token token = New59( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 60: { Token token = New60( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 61: { Token token = New61( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 62: { Token token = New62( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 63: { Token token = New63( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 64: { Token token = New64( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 65: { Token token = New65( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 66: { Token token = New66( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 67: { Token token = New67( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 68: { Token token = New68( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 69: { Token token = New69( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 70: { Token token = New70( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 71: { Token token = New71( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 72: { Token token = New72( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 73: { Token token = New73( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 74: { Token token = New74( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 75: { Token token = New75( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 76: { Token token = New76( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 77: { Token token = New77( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 78: { Token token = New78( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 79: { Token token = New79( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 80: { Token token = New80( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 81: { Token token = New81( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 82: { Token token = New82( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 83: { Token token = New83( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 84: { Token token = New84( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 85: { Token token = New85( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 86: { Token token = New86( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 87: { Token token = New87( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 88: { Token token = New88( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 89: { Token token = New89( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 90: { Token token = New90( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 91: { Token token = New91( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 92: { Token token = New92( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 93: { Token token = New93( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 94: { Token token = New94( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 95: { Token token = New95( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 96: { Token token = New96( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 97: { Token token = New97( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 98: { Token token = New98( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 99: { Token token = New99( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 100: { Token token = New100( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 101: { Token token = New101( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 102: { Token token = New102( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 103: { Token token = New103( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 104: { Token token = New104( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 105: { Token token = New105( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 106: { Token token = New106( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 107: { Token token = New107( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 108: { Token token = New108( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 109: { Token token = New109( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 110: { Token token = New110( GetText(accept_length), start_line + 1, start_pos + 1); PushBack(accept_length); pos = accept_pos; line = accept_line; return token; } } } else { if (text.Length > 0) { throw new LexerException( "[" + (start_line + 1) + "," + (start_pos + 1) + "]" + " Unknown token: " + text); } else { EOF token = new EOF( start_line + 1, start_pos + 1); return token; } } } } }
public override void CaseEOF(EOF node) { index = 104; }