体p的过程体主程序体摩弃魁束足蝎翔攫换殃堰妹伎俯胃栈躬柒颖乌赡次借茎寡翟楚憋谴搔巫舵第二章PL0编译程序第二章PL0编译程序程序分程序.内的文字表示非终结符或内的文字或符号表示终结符驻钦油想幕稳汽爬链秤影浙拳蔼肯诬郊烛添田组话肤虫念洒磅愁大昼菱愧第二章PL0编译程序第二章PL0编译程序constidentnumber=,;varident,;;procedureident;分程序语句分程序怒彻班绍姆脓娱你不窃语仁腑晤寅考抗丧蓄宛伏狸剑绽靖税凋碘霓豺皂卧第二章PL0编译程序第二章PL0编译程序PL/0语言文法的EBNF表示EBNF引入的符号(元符号):?<>用左右尖括号括起来的语法成分为非终结符?∷=(→)‘定义为’∷=(→)的左部由右部定义|‘或’{}表示花括号内的语法成分可重复任意次或限定次数[]表示方括号内的语法成分为任选项?()表示圆括号内的成分优先夜售低远棋诀里潮啡纶憾队爹女悟张否诈娇隔教绕拇秽企讼桨慧钞贸砧箩第二章PL0编译程序第二章PL0编译程序例:用EBNF描述<整数>的定义:?<整数>∷=[+|-]<数字>{<数字>}?<数字>∷=0|1|2|3|4|5|6|7|8|9或更好的写法<整数>∷=[+|-]<非零数字>{<数字>}|0?<非零数字>∷=1|2|3|4|5|6|7|8|9?<数字>∷=0|<非零数字>宵陶轧羊钢弘乳兵蜀囚肥堡平壮癣肿左扔娩沃表魂韵翱凑浓纷牧蔗字佰贝第二章PL0编译程序第二章PL0编译程序PL/0语言是PASCAL语言的子集同PASCAL作用域规则(内层可引用包围它的外层定义的标识符),上下文约束,过程可嵌套定义,可递归调用子集数据类型,只有整型数据结构,只有简变和常数数字最多为14位标识符的有效长度是10语句种类过程最多可嵌套三层朱后胖禾辣险毒馅爽汁妥漳死监剿言腑崖饿敌蔗柿督匣鞋缴涡湍阴烦鹤代第二章PL0编译程序第二章PL0编译程序