📄 decl.atg
字号:
COMPILER Decl
/* Translate simple C declarations into English
Based on Kernighan and Ritchie: "C Programming language", page 122
See also: Parr et.al. "PCCTS reference manual", page 53 in ACM SIGPLAN
Notices 27(2), 88-165, 1992 */
CHARACTERS
digit = "0123456789" .
letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyx_" .
IGNORE CHR(9) .. CHR(13)
TOKENS
number = digit { digit } .
name = letter { letter } .
PRODUCTIONS
Decl =
{ name (. String s = LexString(); .)
Dcl (. System.out.println(" " + s); .)
";" } .
Dcl = "*" Dcl (. System.out.print(" pointer to"); .)
| DirectDcl .
DirectDcl =
name (. System.out.print(LexString() + " is"); .)
Descriptor
| "(" Dcl ")" Descriptor .
Descriptor =
[ "[" (. System.out.print(" array "); .)
( number (. System.out.print("[" + LexString() + "] "); .)
| /* no dimension */
)
"]" (. System.out.print("of"); .)
Descriptor
| "(" ")" (. System.out.print(" function returning"); .)
] .
END Decl.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -