//----< keep extracting until get none-ccomment >------------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first two chars "/*" tok.Append((char)context_.src.next()); while (!isCCommentStateEnd(context_.src.peek(0), context_.src.peek(1))) // stop when CComment state ends { tok.Append((char)context_.src.next()); } if (!(context_.src.peek() < 0)) // last two chars "*/" { tok.Append((char)context_.src.next()); } if (!(context_.src.peek() < 0)) { tok.Append((char)context_.src.next()); } return(tok); }
//----< keep extracting until get none-doublecharspecialpunct >------------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first two chars are double char special punct. tok.Append((char)context_.src.next()); return(tok); }
//----< keep extracting until get none-alpha >------------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first is alpha while (!isAlphaStateEnd(context_.src.peek())) // stop when non-alpha { tok.Append((char)context_.src.next()); } return(tok); }
//----< keep extracting until get none-whitespace >--------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first is WhiteSpace while (!isWhiteSpaceEnd(context_.src.peek())) // stop when non-WhiteSpace { tok.Append((char)context_.src.next()); } return(tok); }
//----< keep extracting until get none-punctuator >-------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first is punctuator while (!isPunctuationEnd(context_.src.peek(0), context_.src.peek(1), context_.src.peek(2), context_.src.peek(3))) // stop when non-punctuator { tok.Append((char)context_.src.next()); } return(tok); }
//----< keep extracting until get none-cppcomment >------------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first two chars are "//". tok.Append((char)context_.src.next()); while (!isCppCommentStateEnd(context_.src.peek())) // stop when CppComment state ends { tok.Append((char)context_.src.next()); } return(tok); }
//----< keep extracting until get none-singlecharspecialpunct >------------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first char is single-char special punctuation. return(tok); }
//----< keep extracting until get none-doublequote >------------------- override public Token getTok() { Token tok = new Token(); int prevItem = context_.src.peek(0); tok.Append((char)context_.src.next()); // first char is a double quote. while (!isDoubleQuoteStateEnd(prevItem, context_.src.peek())) // stop when double quote state ends { prevItem = context_.src.peek(); tok.Append((char)context_.src.next()); } if (!(context_.src.peek() < 0)) // last char is a double quote. { tok.Append((char)context_.src.next()); } return(tok); }
//----< keep extracting until get none-newline >------------------- override public Token getTok() { Token tok = new Token(); tok.Append((char)context_.src.next()); // first char is '\n' or '\r'. while (!isNewlineStateEnd(context_.src.peek())) // stop when newline state ends { context_.src.next(); } return(tok); }
//----< keep extracting until get none-singlequotestate >------------------- override public Token getTok() { Token tok = new Token(); int prevItem2 = context_.src.peek(0); tok.Append((char)context_.src.next()); // first char is one single quote. int prevItem = context_.src.peek(0); tok.Append((char)context_.src.next()); // second char is one char in the single quotes. while (!isSingleQuoteStateEnd(prevItem2, prevItem, context_.src.peek())) // stop when single quote state ends { prevItem2 = prevItem; //update prevItem = context_.src.peek(); //update tok.Append((char)context_.src.next()); } if (!(context_.src.peek() < 0)) { tok.Append((char)context_.src.next()); // last char is another single quote. } return(tok); }