public int get_token() { if (hasPutBack) { PutBackItem pbi; if (verbatim) { pbi = putBackBuffer.Pop() as PutBackItem; string value = pbi.Value; switch (value.Length) { case 0: // do nothing, CurrentToken will be used break; case 1: pbi = new PutBackItem(String.Empty, pbi.Position, (int)value [0], false); break; default: pbi = new PutBackItem(value, pbi.Position, (int)value [0], false); break; } } else { pbi = putBackBuffer.Pop() as PutBackItem; } hasPutBack = putBackBuffer.Count > 0; position = pbi.Position; have_value = false; val = null; sb = new StringBuilder(pbi.Value); current_token = pbi.CurrentToken; inTag = pbi.InTag; return(current_token); } begline = line; begcol = col; have_value = false; current_token = NextToken(); return(current_token); }
public int get_token () { if (hasPutBack) { PutBackItem pbi; if (verbatim) { pbi = putBackBuffer.Pop () as PutBackItem; string value = pbi.Value; switch (value.Length) { case 0: // do nothing, CurrentToken will be used break; case 1: pbi = new PutBackItem (String.Empty, pbi.Position, (int)value [0], false); break; default: pbi = new PutBackItem (value, pbi.Position, (int)value [0], false); break; } } else pbi = putBackBuffer.Pop () as PutBackItem; hasPutBack = putBackBuffer.Count > 0; position = pbi.Position; have_value = false; val = null; sb = new StringBuilder (pbi.Value); current_token = pbi.CurrentToken; inTag = pbi.InTag; return current_token; } begline = line; begcol = col; have_value = false; current_token = NextToken (); return current_token; }