Legend Since 1984
Cruising between Fantasy and Reality...

Friday, June 16, 2006

Done with Symbol Table

今天工作的成果是——总算把建立符号表有关的产生式的语义动作全部写完并调试成功。这些产生式是:
  • Function_definition->Type_specifier
  • Function_declarator REGISTER Compound_statement
  • REGISTER->epsilon
  • Function_declarator->IDENTIFIER ( )
  • Function_declarator->IDENTIFIER ( Parameter_list )
  • Parameter_list->Parameter_list , Parameter_definition
  • Parameter_list->Parameter_definition
  • Parameter_definition->Type_specifier Variable_declarator
  • Variable_definition->Type_specifier ID_list ;
  • ID_list->ID_list , Variable_declarator
  • ID_list->Variable_declarator
  • Variable_declarator->IDENTIFIER
  • Variable_declarator->Array_declarator
  • Array_declarator->IDENTIFIER [ CONSTANT ]
  • Array_declarator->Array_declarator [ CONSTANT ]

包括了数组定义(支持多维)、函数头定义(支持数组作为参数)、变量定义(支持普通变量和数组变量的混合定义),符号表、数组描述结构、函数描述结构的填写全部正确。接下来的任务是处理函数内部的语句,这是编译实验课上做的工作,相信应该是驾轻就熟了。有点难度的是数组的引用和函数调用,还要判断是否匹配的问题,不匹配的话将弹出编译错误。

呼~~好累,看会世界杯吧~~~阿根廷6:0搞定了塞黑呢!

Labels:

0 Comments:

Post a Comment

<< Home