📄 lexer.g
字号:
/* * Make sure to run antlr.Tool on the lexer.g file first! */options { mangleLiteralPrefix = "TK_";}class TinyCLexer extends Lexer;options { k=2; exportVocab=TinyC; charVocabulary = '\3'..'\377';}tokens { "int"; "char"; "if"; "else"; "while";}WS : (' ' | '\t' | '\n' {newline();} | '\r') { _ttype = Token.SKIP; } ;SL_COMMENT : "//" (~'\n')* '\n' { _ttype = Token.SKIP; newline(); } ;ML_COMMENT : "/*" ( { LA(2)!='/' }? '*' | '\n' { newline(); } | ~('*'|'\n') )* "*/" { $setType(Token.SKIP); } ;LPARENoptions { paraphrase="'('";} : '(' ;RPARENoptions { paraphrase="')'";} : ')' ;LCURLY: '{' ;RCURLY: '}' ;STAR: '*' ;PLUS: '+' ;ASSIGN : '=' ;SEMI: ';' ;COMMA : ',' ;CHAR_LITERAL : '\'' (ESC|~'\'') '\'' ;STRING_LITERAL : '"' (ESC|~'"')* '"' ;protectedESC : '\\' ( 'n' | 'r' | 't' | 'b' | 'f' | '"' | '\'' | '\\' | '0'..'3' ( options { warnWhenFollowAmbig = false; } : DIGIT ( options { warnWhenFollowAmbig = false; } : DIGIT )? )? | '4'..'7' ( options { warnWhenFollowAmbig = false; } : DIGIT )? ) ;protectedDIGIT : '0'..'9' ;INT : (DIGIT)+ ;IDoptions { testLiterals = true; paraphrase = "an identifier";} : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')* ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -