二章节程序设计语言设计概述学习资料.pptVIP

  • 2
  • 0
  • 约1.95千字
  • 约 61页
  • 2019-11-04 发布于天津
  • 举报

二章节程序设计语言设计概述学习资料.ppt

第二章 程序设计语言设计概述;2.1 表示与抽象;2.1 表示与抽象;2.1 表示与抽象;语言设计:目标演化;语言设计:目标演化;语言设计:目标演化;语言设计:目标演化;2.2 PL设计目标;2.3 设计准则;续;续;续;续;形式语法:以形式结构规则的语言元素组合规则 微语法 词法 Lexicon 宏语法 定义特征的规则;第*页;第*页;第*页;T是终结符号串的有限集。N是非终结符号串的有限集。 T∩N = Φ,即它们是不相交的。S是起始符号串, S∈N。 P是产生式, 一般形式是:α→β α,β∈(T∪N)* “→”表示左端可推导出右端, 如α→β, α→Υ, α→δ则可写为:α→β|Υ|δ 如果产生式将语言的非终结符中的每一个标记都推得为终结符号, 则这一组产生式集即为该语言的全部文法。;整数的产生式表示法: 设digit→0|1|2|3|4|5|6|7|8|9 则Integer→digit 一位数是整数 Integer→digitdigit 两位数也是 Integer→digit…digit n位数也是 n个 这势必造成产生式臃肿, 如果写成: Integer→digit|Integerdigit |digit Integer;续;续;2.4.1.2 上下文无关文法;2.4.1.3 BNF 和EBNF;续;EBNF: 左端取消 , 空白加‘-’ 减少递归表示再加‘(’,‘)’,‘.’, 尽量用正则表达式 终结符号加‘ ’号或黑体;续;compound-statement ::= begin statement-sequence end. statement-sequence ::= statement {; statement}. statement::=[label :](simple-statement|structured-statement). simple-statement ::= empty-statement | assignment-statement | procedure-statement | goto-statement. structured-statement ::= compound-statement|conditional-statement |repetitive-statement | with-statement. ;2.4.1.4 语法图;2.4.1.5 语法分析;begin x := 17 ; writeIn ( x ) end;第*页;第*页;2.4.2 语义定义与规格说明;第*页;1、静态语义:类型的理论;1、类型环境??类型断言;1、类型推导;1、类型规则;1、类型规则;2、语义基础:环境和状态;2、环境和状态;2、环境和状态;2、环境和状态;2、环境和状态;3、语义规格说明;操作语义:格局和规则;操作语义:续;第*页;第*页;第*页;第*页;第*页;第*页;第*页;第*页;第*页;第*页;specification LISTS sorts List NATURALS formal sort Component Operations empty_list : List cons(_,_) : Component,List→List headof_ : List → Component tailof_ : List → List lengthof_ : List → NATURALSs variables c: Component l: List equations headof cons (c,l)=c tailof cons (c,l)=l tailof empty_list = empty_list lengthof empty_list = 0 lengthof cons (c,l)=succ (length of l) end specification;语法、语义和语用

文档评论(0)

1亿VIP精品文档

相关文档