📄 lexes.mll
字号:
{open Parser}
let letter=['a'-'z' 'A'-'Z']
let pdigit=['1'-'9']
let digit=['0'-'9']
let ident=letter(letter|'_'|digit)*
let number=pdigit(digit)*|'0'
rule token=parse
[' ''\t''\n']{token lexbuf}
|"true" {TRUE}
|"false" {FALSE}
|'+' {ADD}
|'-' {SUB}
|'*' {MUL}
|'/' {DIV}
|"<=" {LEQ}
|'<' {LES}
|'>' {GRT}
|">=" {GEQ}
|'=' {EQL}
|"<>" {NEQ}
|"and" {AND}
|"or" {OR}
|"not" {NOT}
|":=" {AFF}
|'(' {LPA}
|')' {RPA}
|'[' {LCOR}
|']' {RCOR}
|',' {VIRG}
|';' {PVIRG}
|'.' {PT}
|':' {DPT}
|"if" {IF}
|"then" {THEN}
|"else" {ELSE}
|"while" {WHILE}
|"do" {DO}
|"begin" {BEGIN}
|"end" {END}
|"integer" {INTEGER}
|"boolean" {BOOLEAN}
|"array" {ARRAY}
|"of" {OF}
|"var" {VAR}
|"proc" {PROC}
|"program" {PROGRAM}
|ident {IDENT(Lexing.lexeme lexbuf)}
|number {NUMBER(int_of_string(Lexing.lexeme lexbuf))}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -