⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 decl.atg

📁 cocorj09-一个Java语言分析器
💻 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 + -