第二章 高级语言及其语法描述

Click here to load reader

Upload: clancy

Post on 20-Jan-2016

188 views

Category:

Documents


0 download

DESCRIPTION

第二章 高级语言及其语法描述. 程序语言的定义. 一个程序语言是一个记号系统,包括语法和语义两个方面。 语法: 任何语言程序都可看成是一定字符集(称字母表)上的一字符串(有限序列)。 语法包括了:词法规则和语法规则 语义: 对一个语言来说,不仅要给出它的词法、语法规则,而且要定义它的单词符号和语法单位的意义。离开语义,语言只不过是一堆符号的集合。 所谓一个语言的语义是这样的一组规则,使用它可以定义一个程序的意义。这些规则称为语义规则。 阐明语义要比阐明语法难的多,现在还没有一种形式系统描述语义。. 2.2 高级语言的一般特性. 高级语言的分类: - PowerPoint PPT Presentation

TRANSCRIPT

  • 2.2 1234123

  • 1234

  • 2.3 **UV UV={ | U & V} UVVU (UV)W=U(VW)VnVn=VVV(n V0={} V0 V*=V0 V1 V2 V*VV+=V V*V+V

  • -----------

  • ----- Syntax Semantics Pragmatics

  • ----- -- -- --

  • -----

  • -----

  • -----1.() 2.x,a,xa 3. y,12 ={a,b} ,a,b,aa,ab,aabba

  • -----ss. bbanana. ss. :nanabanana.ss. :anabanana.

  • s ss s x,s s x .s|s| 0xy,yxxy x=ab,y=cd xy=abcd a = a n an aaaa na a1=a, a2=aaa0=

  • AAAB AB =xy|xAyB A=ab,cde B = 0,1 AB =ab1,ab0,cde0,cde1 * * + +

  • ={a,b} *={,a,b,aa,ab,ba,bb,aaa,aab,} +={a,b,aa,ab,ba,bb,aaa,aab,}

  • (*) ={a,b} *={,a,b,aa,ab,ba,bb,aaa,aab,}{ab,aabb,aaabbb,,anbn,}{w|w*w=anbn,n1}{a,aa,aaa,}{w|w*w=an,n1}

  • L,M, LM LM LM: {w|w is in L or is in M} L1 ={a,b,y,z} M1 ={1,28,9 } L1M1={a,b, y,z1,28,9 }LM LM LM={st |sL tM} L1M1 ={a1,b1,y1,z1,a2,b2a9z9} L = L=L LnLn= LL...L

  • L L* L*= L0 L1 L2 ... L0= Ln= L Ln-1= Ln-1 L,n1L L+ L+= L1 L2 L3 ... L+= LL*= L*L L*= L+ L1 ={a,b,y,z} M1 ={1,28,9 } L1M1={a,b, y,z1,28,9 }L1M1*={a,b, y,z1,28,9 aa,1a,xyz,6789st..} L1L1M1*={}

  • GVNVTPSVN VT PS

    VNVT= SVNV=VNVTG

  • =V+V* () ()

  • 3.1 G=VNVTPSVN = { S }, VT ={ 0, 1 }P={ S0S1, S01 }S

  • GG[S]SGSaAb Aab AaAb A G[S] Aab AaAb A SaSb G[S] Aab |aAb | SaSb

  • 3.2 G=VNVTPSVN ={}VT ={a,b,c,x,y,z,0,1,,9}P={ a,, z 0,, 9 }S=

  • Gv,wv=,w= , V*,V*vw, v w wvG S0S1 S01 S 0S1 00S11 000S111 00001111 . . ... VAR;BEGIN READ()END. VAR A;BEGIN READ(A) END.

  • v w0 w1 ... wn=w,(n>0)v wvwwv

    v wv=wv w

  • GS xxGGS xxVT*xGG S0S1 S01S 0S1 00S11 000S111 00001111

  • G[E]EE+T|T TT*F|F F(E)|a EE+T T+T F+T a+T a+T*F a+F*F a+a*F a+a*a a+*()

  • GL(G),G: L(G)={x|S xSx VT*} G S0S1 S01L(G)={0n1n|n1}

  • 3.3 G[S]1SaSBE2SaBE3EBBE4aBab5bBbb6bEbe7eEee LG={ anbnen | n1 }

  • S a S BE (SaSBE) a aBEBE (SaBE) aabEBE ( aBab ) aabBEE ( EBBE ) aabbEE bBbb) aabbeE bEbe) aabbee eEee) GL(G) L(G)G

  • 0101 A 0B|1C B 1|1A|0BB C 0|0A|1CCG[E]EE+T|T TT*F|F F(E)|a

  • v w0 w1 ... wn=w,(n>0)v wvwwv

    v wv=wv w

  • GS xxGGS xxVT*xGG S0S1 S01S 0S1 00S11 000S111 00001111

  • G[E]EE+T|T TT*F|F F(E)|a EE+T T+T F+T a+T a+T*F a+F*F a+a*F a+a*a a+*()

  • GL(G),G: L(G)={x|S xSx VT*} G S0S1 S01L(G)={0n1n|n1}

  • 3.3 G[S]1SaSBE2SaBE3EBBE4aBab5bBbb6bEbe7eEee LG={ anbnen | n1 }

  • S a S BE (SaSBE) a aBEBE (SaBE) aabEBE ( aBab ) aabBEE ( EBBE ) aabbEE bBbb) aabbeE bEbe) aabbee eEee) GL(G) L(G)G

  • 0101 A 0B|1C B 1|1A|0BB C 0|0A|1CCG[E]EE+T|T TT*F|F F(E)|a

  • LG1=LG2G1G2 G1[A]A0R G2[S]S0S1 A01 S01 RA1

  • Chomsky0(VNVT)+ (VNVT)*1|||| S2VN (VNVT)*3AaBAaAVN BVN aVT

  • 1 G[S]SaSBESaBEEBBEaBabbBbbbEbeeEee

  • 1 G[S] SCDAbbA CaCABaaB CbCBBbbBADaD CBDbD DAabDL(G)={ww|w{a,b}*}

  • 2 G[S]SaB|bAAa|aS|bAABb|bS|aBB G[S]S0A|1B|0A0A|1B|0SB1B|1|0

  • 3 G[I]I lTI lT lTT dTT lT d

  • 001 CSG 1CSL2 CFL 2 CF L 3 RG 3 RL

  • 00

    11A212A12A

  • 2CFGAAA

    3FA

  • G=({E}, {+,*,I,(,)}, P, E} P:E iE E+EE E*EE (E)

  • ifthen | ifthenelse

  • : G[S]:SaASASbAASSSaAba S a A S S b A a a b aaabbaa

  • GG41V2S3nnAAVN4nn1,n2,,nkA1,A2,,AkAA1A2,,AkP

  • : G[S]:SaASASbAASSSaAba S a A S S b A a a b aSaASaAaaSbAaaSbbaaaabbaaSaASaSbASaabASaabbaSaabbaaSaASaSbASaSbAaaabAaaabbaa

  • G[E]: E iE E+EE E*EE (E)

    E E + E E * E i i i E E * E i E + E i i i*i+i 1E E+E E*E+E i*E+E i*i+E i*i+i2E E*E i*E i*E+E i*i+E i*i+i