📄 grammar.txt
字号:
PP -> P
P -> program id ( IL ) ; DE SDS CS .
//IL -> id
//IL -> IL , id
IL -> id IL1
IL1 -> , id IL1
IL1 -> @
//DE -> DE var IL : T ;
//DE -> @
DE -> DE1
DE1 -> var IL : T ; DE1
DE1 -> @
T -> ST
T -> array [ num .. num ] of ST
ST -> integer
ST -> real
//SDS -> SDS SD ;
//SDS -> @
SDS -> SDS1
SDS1 -> SD ; SDS1
SDS1 -> @
SD -> SH DE CS
SH -> function id ARG : ST ;
SH -> procedure id ARG ;
ARG -> ( PL )
ARG -> @
//PL -> IL : T
//PL -> PL ; IL : T
PL -> IL : T PL1
PL1 -> ; IL : T PL1
PL1 -> @
CS -> begin OS end
OS -> SL
OS -> @
//SL -> STA
//SL -> SL ; STA
SL -> STA SL1
SL1 -> ; STA SL1
SL1 -> @
//STA -> if EXP then STA else STA
//STA -> if EXP then STA
STA -> if EXP then STA STA3
STA3 -> @
STA3 -> else STA
//STA -> @
STA -> CS
STA -> while EXP do STA
//STA -> VAR ASSOP EXP
//STA -> PS
//VAR -> id
//VAR -> id [ EXP ]
//PS -> id
//PS -> id ( EL )
STA -> id STA2
STA2 -> PS2
STA2 -> VAR2 ASSOP EXP
VAR -> id VAR2
VAR2 -> [ EXP ]
VAR2 -> @
//PS -> id PS2
PS2 -> ( EL )
PS2 -> @
//EL -> EXP
//EL -> EL , EXP
EL -> EXP EL1
EL1 -> , EXP EL1
EL1 -> @
//EXP -> SE
//EXP -> SE REOP SE
EXP -> SE EXP2
EXP2 -> REOP SE
EXP2 -> @
//SE -> TERM
//SE -> SI TERM
//SE -> SE ADDOP TERM
SE -> TERM SE1
SE -> SI TERM SE1
SE1 -> ADDOP TERM SE1
SE1 -> @
//TERM -> FAC
//TERM -> TERM MULOP FAC
TERM -> FAC TERM1
TERM1 -> MULOP FAC TERM1
TERM1 -> @
//FAC -> id
//FAC -> id ( EL )
FAC -> id FAC2
FAC2 -> ( EL )
FAC2 -> @
FAC -> num
FAC -> ( EXP )
FAC -> not FAC
SI -> +
SI -> -
ASSOP -> :=
ADDOP -> +
ADDOP -> -
ADDOP -> or
REOP -> =
REOP -> <>
REOP -> <
REOP -> <=
REOP -> >=
REOP -> >
MULOP -> *
MULOP -> /
MULOP -> div
MULOP -> mod
MULOP -> and
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -