stdclexer.java
来自「plugin for eclipse」· Java 代码 · 共 2,450 行 · 第 1/5 页
JAVA
2,450 行
match('&');
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mBAND_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = BAND_ASSIGN;
int _saveIndex;
match("&=");
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mBNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = BNOT;
int _saveIndex;
match('~');
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mBOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = BOR;
int _saveIndex;
match('|');
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mBOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = BOR_ASSIGN;
int _saveIndex;
match("|=");
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mBXOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = BXOR;
int _saveIndex;
match('^');
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mBXOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = BXOR_ASSIGN;
int _saveIndex;
match("^=");
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mWhitespace(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = Whitespace;
int _saveIndex;
{
if ((LA(1)=='\r') && (LA(2)=='\n')) {
match("\r\n");
if ( inputState.guessing==0 ) {
newline();
}
}
else if ((_tokenSet_1.member(LA(1)))) {
{
switch ( LA(1)) {
case '\u0003': case '\u0004': case '\u0005': case '\u0006':
case '\u0007': case '\u0008':
{
matchRange('\003','\010');
break;
}
case '\t':
{
match('\t');
break;
}
case '\u000b':
{
match('\013');
break;
}
case '\u000c':
{
match('\f');
break;
}
case '\u000e': case '\u000f': case '\u0010': case '\u0011':
case '\u0012': case '\u0013': case '\u0014': case '\u0015':
case '\u0016': case '\u0017': case '\u0018': case '\u0019':
case '\u001a': case '\u001b': case '\u001c': case '\u001d':
case '\u001e': case '\u001f':
{
matchRange('\016','\037');
break;
}
case ' ':
{
match(' ');
break;
}
default:
if (((LA(1) >= '\u007f' && LA(1) <= '\u00ff'))) {
matchRange('\177','\377');
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
}
else if ((LA(1)=='\n'||LA(1)=='\r') && (true)) {
{
switch ( LA(1)) {
case '\n':
{
match('\n');
break;
}
case '\r':
{
match('\r');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
if ( inputState.guessing==0 ) {
newline();
}
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
if ( inputState.guessing==0 ) {
_ttype = Token.SKIP;
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mComment(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = Comment;
int _saveIndex;
match("/*");
{
_loop1664:
do {
if (((LA(1)=='*') && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && ((LA(3) >= '\u0000' && LA(3) <= '\u00ff')))&&( LA(2) != '/' )) {
match('*');
}
else if ((LA(1)=='\r') && (LA(2)=='\n') && ((LA(3) >= '\u0000' && LA(3) <= '\u00ff'))) {
match("\r\n");
if ( inputState.guessing==0 ) {
deferredNewline();
}
}
else if ((LA(1)=='\n'||LA(1)=='\r') && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && ((LA(3) >= '\u0000' && LA(3) <= '\u00ff'))) {
{
switch ( LA(1)) {
case '\r':
{
match('\r');
break;
}
case '\n':
{
match('\n');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
if ( inputState.guessing==0 ) {
deferredNewline();
}
}
else if ((_tokenSet_2.member(LA(1)))) {
{
match(_tokenSet_2);
}
}
else {
break _loop1664;
}
} while (true);
}
match("*/");
if ( inputState.guessing==0 ) {
_ttype = Token.SKIP;
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mCPPComment(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = CPPComment;
int _saveIndex;
match("//");
{
_loop1668:
do {
if ((_tokenSet_3.member(LA(1)))) {
{
match(_tokenSet_3);
}
}
else {
break _loop1668;
}
} while (true);
}
if ( inputState.guessing==0 ) {
_ttype = Token.SKIP;
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mPREPROC_DIRECTIVE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = PREPROC_DIRECTIVE;
int _saveIndex;
match('#');
{
boolean synPredMatched1675 = false;
if (((_tokenSet_4.member(LA(1))) && (_tokenSet_5.member(LA(2))) && (_tokenSet_6.member(LA(3))))) {
int _m1675 = mark();
synPredMatched1675 = true;
inputState.guessing++;
try {
{
switch ( LA(1)) {
case 'l':
{
match("line");
break;
}
case '\t': case '\u000c': case ' ':
{
{
{
int _cnt1674=0;
_loop1674:
do {
switch ( LA(1)) {
case ' ':
{
match(' ');
break;
}
case '\t':
{
match('\t');
break;
}
case '\u000c':
{
match('\014');
break;
}
default:
{
if ( _cnt1674>=1 ) { break _loop1674; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
}
_cnt1674++;
} while (true);
}
matchRange('0','9');
}
break;
}
default:
{
}
}
}
}
catch (RecognitionException pe) {
synPredMatched1675 = false;
}
rewind(_m1675);
inputState.guessing--;
}
if ( synPredMatched1675 ) {
mLineDirective(false);
}
else {
{
_loop1677:
do {
if ((_tokenSet_3.member(LA(1)))) {
matchNot('\n');
}
else {
break _loop1677;
}
} while (true);
}
if ( inputState.guessing==0 ) {
setPreprocessingDirective(getText());
}
}
}
if ( inputState.guessing==0 ) {
_ttype = Token.SKIP;
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
protected final void mLineDirective(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = LineDirective;
int _saveIndex;
Token n=null;
Token fn=null;
Token fi=null;
boolean oldCountingTokens = countingTokens;
countingTokens = false;
if ( inputState.guessing==0 ) {
lineObject = new LineObject();
deferredLineCount = 0;
}
{
switch ( LA(1)) {
case 'l':
{
match("line");
break;
}
case '\t': case '\u000c': case ' ':
{
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
int _cnt1683=0;
_loop1683:
do {
if ((LA(1)=='\t'||LA(1)=='\u000c'||LA(1)==' ')) {
mSpace(false);
}
else {
if ( _cnt1683>=1 ) { break _loop1683; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt1683++;
} while (true);
}
mNumber(true);
n=_returnToken;
if ( inputState.guessing==0 ) {
lineObject.setLine(Integer.parseInt(n.getText()));
}
{
int _cnt1685=0;
_loop1685:
do {
if ((LA(1)=='\t'||LA(1)=='\u000c'||LA(1)==' ') && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mSpace(false);
}
else {
if ( _cnt1685>=1 ) { break _loop1685; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt1685++;
} while (true);
}
{
if ((LA(1)=='"') && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && ((LA(3) >= '\u0000' && LA(3) <= '\u00ff'))) {
mStringLiteral(true);
fn=_returnToken;
if ( inputState.guessing==0 ) {
try {
lineObject.setSource(fn.getText().substring(1,fn.getText().length()-1));
}
catch (StringIndexOutOfBoundsException e) { /*not possible*/ }
}
}
else if ((_tokenSet_7.member(LA(1))) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mID(true);
fi=_returnToken;
if ( inputState.guessing==0 ) {
lineObject.setSource(fi.getText());
}
}
else if (((LA(1) >= '\u0000' && LA(1) <= '\u00ff')) && (true) && (true)) {
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
{
_loop1688:
do {
if ((LA(1)=='\t'||LA(1)=='\u000c'||LA(1)==' ') && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mSpace(false);
}
else {
break _loop1688;
}
} while (true);
}
{
if ((LA(1)=='1') && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
match("1");
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?