《编译原理》期末试题(五)


    编译原理期末试题(五)
    单项选择题(10题题2分20分)
    1.语言
    A.句子集合 B.产生式集合
    C.符号串集合 D.句型集合
    2.编译程序前三阶段完成工作
    A.词法分析语法分析代码优化
    B.代码生成代码优化词法分析
    C.词法分析语法分析语义分析中间代码生成
    D.词法分析语法分析代码优化
    3.句型中称句柄该句型左
    A.非终结符号 B.短语 C.句子 D.直接短语
    4.推动机识语言
    A.0型语言 B.1型语言
    C.2型语言 D.3型语言
    5.扫描器完成务字符串形式源程序中识出具独立含义语法单位
    A. 字符 B.单词 C.句子 D.句型
    6.应Chomsky四种文法四种语言间关系
    A.L0ÌL1ÌL2ÌL3 B.L3ÌL2ÌL1ÌL0
    C.L3L2ÌL1ÌL0 D.L0ÌL1ÌL2L3
    7.词法分析务
    A.识单词 B.分析句子含义
    C.识句子 D.生成目标代码
    8.常中间代码形式含
    A.三元式 B.四元式 C.逆波兰式 D.语法树
    9. 代码优化目
    A.节省时间 B.节省空间
    C.节省时间空间 D.编译程序进行等价交换
    10.代码生成阶段务
    A.高级语言翻译成汇编语言
    B.高级语言翻译成机器语言
    C.中间代码变换成赖具体机器目标代码
    D.汇编语言翻译成机器语言
    二填空题(题5题题2分10分)
    1.编译程序首先识出源程序中(单词)然分析(句子)翻译意义
    2.编译器常语法分析方法(底)(顶)两种
    3.通常编译程分分析前端综合端两阶段词法语法语义分析源程序(分析)中间代码生成代码优化目标代码生成源程序(综合)
    4.程序设计语言发展带日渐变运行时存储理方案分两类(静态存储分配)方案(动态存储分配)方案
    5.编译程序言输入数(源程序)输出结果(目标程序)

    三名词解释题(5题题4分20分)
    1.词法分析
    词法分析务左右扫描行源程序符号词法规
    构成源程序字符串中识出具独立意义语法单位
    转换成统部表示(token)送语法分析程序
    2.LL(1)文法
    文法两产生式A ® a | b满足面两条件:
    (1)FIRST(a ) Ç FIRST(b ) f
    (2)b Þ* e FIRST(a ) Ç FOLLOW( A ) f
    满足两条件文法做LL(1)文法中第L代表左
    右扫描输入第二L表示产生左推导1代表决定分析器步
    动作时前输入符号没公左子外LL(1)文法
    明显性质二义含左递
    3.语法树
    句子树结构表示法称语法树(语法分析树语法推导树)
    定文法G(VNVTPS)G句型构造关联
    语法树棵树具列特征:
    (1)根节点标记开始符号S
    (2)节点标记V中符号
    (3)棵子树根节点A直接子孙标记左右排列
    次序A1A2…ARA®A1A2…AR定P中条产生式
    (4)标记A节点少外子孙AVN
    (5)树叶节点标记左右排列字符串ww文法G
    句型w中仅含终结符号w文法G产生句子
    4.LR(0)分析器
    谓LR(0)分析指左右扫描底语法分析分析
    步须根分析栈前已移进约出全部文法符号
    前查0输入符号确定相某产生式左部符号句柄否
    已分析栈顶部形成确定前应采取分析动作 (
    移进某产生式进行约等)

    5.语言文法
    文法语言结构定义描述穷非空产生式集合
    文法G定义四元组形式:
    G(VNVTPS)
    中:VN 非空穷集合称非终结符号集合VT 非空穷集合
    称终结符号集合P产生式集合(非空)S开始符号(识符号)
    里VN∩VTÆSVNVVN∪VT称文法G字母表出现
    文法产生式中切符号集合
    文法G描述语言L(G)表示文法G产生全部句子组成
    L(G){x| SÞ*x中S文法开始符号 }
    简单说文法描述语言该文法切句子集合
    四简答题(4题题5分20分)
    1.编译程序高级语言什区
    汇编语言高级语言编写程序必须先送入计算机转换成机器
    语言表示目标程序(程编译)计算机执行执行转换程
    程序编译程序汇编程序指没编译汇编语言源文件编译程序转
    换目标程序机器语言
    编译程序工作情况三种:汇编型解释型编译型汇编型编译程序
    汇编语言编写程序应关系转换成机器语言表示程序
    解释型编译程序高级语言程序语句先解释成组机器语言指令
    然立执行执行完取组语句解释执行继续完成程序
    止解释型编译程序执行速度慢进行计算机话时
    修改高级语言程序BASIC语言解释型高级语言编译型编译程序
    级语言编写程序次会部翻译成机器语言表示程序程进行快
    程中进行机话修改FORTRAN语言编译型高级语言
    2.编译程序工作分阶段
    词法分析语法分析语义分析源程序进行分析(称编译程序前端)
    中间代码生成代码优化代码生成三阶段合称源程序进行综合(称
    编译程序端)源程序中间表示建立起源程序等价目标程序
    3.简述分析方法
    谓分析法输入串开始逐步进行约直约文法
    开始符号者说语法树末端开始步步约直根节点
    4.简述代码优化目意义
    代码优化量生成代码编译阶段程序代码进行
    种等价变换保证变换前代码执行结果相前提量目
    标程序运行时需时间短时占存储空间少

    五综合应题(3题题10分30分)
    1.证明述文法G:
    S®aSbS|aS|d
    二义性文法
    解:
    文法果存某句子棵语法分析树应称
    文法二义性文法
    句子aadbd两棵语法树图:
    S
    a
    S
    S
    a
    b
    S
    d
    d
    d
    S
    S
    a
    b
    S
    S
    a
    d








    (1) (2)

    知S®aSbS|aS|d定义文法二义性文法
    A
    S
    B
    b
    B
    S
    a
    b
    2.文法G[S]:S®ABA®Aa|bBB®a|Sb求句型baSb全部短语直接短语句柄?
    句型baSb语法树图五(2)示









    解:baSb句型baSb相S短语ba句型baSb相A短语Sb句型baSb相B短语直接短语a句型baSb相B短语直接短语句柄

    3.设非确定限动机NFA M({ABC}{01}d{A}{C})中:
    d (A0){C} d (A1){AB} d (B1){C} d (C1){C}请画出状态转换距阵状态转换图
    解:状态转换距阵:
    d
    0
    1
    A
    C
    AB
    B
    Æ
    C
    C
    Æ
    C

    状态转换图1
    1
    0
    1
    1






    编译原理期末试题(六)
    编译原理 样题
    1.____型文法称正规文法
       [A] 0 [B] 1 [C] 2 [D] 3
    2.____文法LL(1)
       [A] 递 [B] 右递 [C] 2型 [D] 含公左子
    3. 文法E→E+E|E*E|i句子i*i+i*i语法分析树总数______
       [A]1 [B]3 [C]5 [D]7
    4.四元式间联系通 实现
    [A]时变量 [B]指示器 [C]符号表 [D]程序变量
    5.心集合会产生新突
    [A]二义 [B]移进移进 [C]移进约 [D]约约
    6.代码优化时
    [A]语法规 [B]词法规 [C]等价变换规 [D]语义规
    7.表达式a(b)*c逆波兰表示
    [A]ab@c* [B]ab@c* [C]ab@ [D]ab@c* (注:@单目减运算符)
    8.程DISPLAY表记录
    [A]程连接数 [B]程嵌套层次
    [C]程返回址 [D]程入口址
    二 填空题
    3.文法G1G2L(G1)L(G2) ( G1G2语言相)称文法G1G2等价
    4.文法G[E]:E→T|E+T T→F|T*F F→P^F|P P→(E)|i句型T+T*F+i句柄T 左素短语 T*F
    5.右推导逆程称规范约 称 左约
    6.规范规约中规约串句柄 算符优先分析中规约串 左素短语
    7.(A∨ B)∧(C∨ ¬D∧ E) 逆波兰式AB∨CD¬E∧∨∧
    8.属性文法中文法符号两种属性分称继承属性 综合属性(次序换)
    9.符号表项名字栏 址分配 两栏目组成目标代码生成阶段符号表 址分配
    10.程DISPLAY表容 直接外层 DISPLAY表容加程SP址

    三 穷动机M接受字母表S={01}满足述条件串:10直接右边构造DFA MM等价正规式




    四 证明正规式(ab)*a 正规式a(ba)*等价 (构造DFA方法)
    答案:

    五 写文法语言:
    L = { 1n0m1m0n | mn≥0 }
    五 文法G:S → 1S0 | A
    A → 0A1 | ε

    六 文法G[S]
      S → aSb | P
    P → bPc | bQc
    Q → Qa | a
    (1) 否算符优先文法?请构造算符优先关系表
    (2) 文法G[S]消左递提取左公子否LL(1)文法?请证实
    1求出G[S]FIRSTVT集LASTVT集:
    FIERSTVT(S){ab} LASTBVT(S){bc}
    FIERSTVT(P){b} LASTBVT(P){c}
    FIERSTVT(Q){a} LASTBVT(Q){a}
    构造优先关系表:

    a
    b
    c
    a
    < >
    <
    >
    b

    < >

    c

    >
    >
    优先关系中时出现aabb该文法算符优先文法
    2 消左递提取左公子文法:
    S → aSb | P
    P → bP’
    P’→ Pc |Qc
    Q → aQ’
    Q’→ aQ’|ε
    求具相左部两产生式Select集交集:
    Select(S→aSb)∩Select(S→P) {a}∩First(P) {a}∩{b} Ф
    Select(P’→Pc)∩Select(P’→Qc) First(P)∩First(Q){b}∩{a} Ф
    Select(Q’→aQ’)∩Select(Q’→ε) {a}∩Follow(Q) {a}∩{c} Ф
    修改文法LL(1)文法
    七 已知文法G
    (0) S′→ S
    (1) S → aAd
    (2) S → bAc
    (3) S → aec
    (4) S → bed
    (5) A → e
    试构造LR(1)项目集前缀图LR(1)分析表
    答案:

    e
    c
    A
    d
    I0
    S′→· S #
    S→· aAd #
    S→ · bAc #
    S→ ·aec #
    S→ · bed #
    I2:
    S→a · Ad #
    S→a · ec #
    A→· e d
    a
    I1:S′→S · #
    S
    I3 S→b · Ac #
    S→b · ed #
    A→· e c
    b
    I6 S→bA·c#
    A
    I7:S→be · d #
    A→e · c
    I11:
    S→bed · #
    d
    I10:
    S→bAc · #
    I4:S→aA· d #
    I5:S→ae· c #  A→e · d
    e
    I8:S→aAd · #
    I9:S→aec · #
    c















    构造LR(1)分析表



    r4





    11





    S10


    6


    r2





    10


    r3





    9


    r1





    8




    S11
    r5


    7




    r5
    S9


    5




    S8



    4
    6


    S7




    3
    4


    S5




    2


    acc





    1

    A

    #
    S3
    b

    e

    d

    c
    1
    S
    goto
    a
    S2
    action
    0

    状态





















    八 已知源程序:
    prod0
    i1
    while i≤20 do
    begin
    prodprod+a[i]*b[i]
    ii+1
    end
    试语法制导翻译法源程序翻译成四元式序列(设A数组a起始址B数组b起始址机器字节编址数组元素占四字节)
    答案:

    九 设程序段
    procedure P(xyz)
    begin
    Yy*3
    ZX+z
    end
    begin
    a5 b2
    p(a*baa)
    print(a)
    end
    参数传递方法分(1)传值(2)传址(3)传名试问结果分什?
    十 (1)传值 5 (2)传址 25 (3)传名 45

    十 文法请写出关括号嵌套层数属性文法(SL引入属性h记录输出配括号数)
    文法规
    语 义 规
    S→(T)

    S→i

    T→TS

    T→S

    答案:
    十 PL0语言while语句 while 条件B DO 语句S 编译程序
    请空缺处填空完成该语句编译算法:
    switch (SYM) { ……
    case WHILESYM
    CX1CX
    GetSym()
    CONDITION(SymSetAdd(DOSYMFSYS)LEVTX)
    CX2CX
    GEN(JPC00)
    if (SYMDOSYM)
    GetSym()
    else Error(18)
    STATEMENT(FSYSLEVTX)
    GEN(JMP0CX1)
    CODE[CX2]ACX
    break
    ……}
    编译原理期末试题(七)
    回答列问题:(30分)
    1.什S属性文法?什L属性文法?间什关系?
    解答:
    S属性文法含综合属性属性文法 (2分)
    L属性文法求产生式AàX1X2…Xn语义规中属性者综合属性者Xj继承属性该属性仅赖:
    (1) 产生式Xj左边符号X1X2…Xj1属性
    (2) A继承属性 (2分)
    S属性文法L属性文法特例 (2分)

    2.什句柄?什素短语?
    句型左直接短语称该句型句柄(3分)素短语样短语少包含终结符包含更素短语(3分)

    3.划分程序基块时确定基块入口语句条件什?
    解答:
    (1)程序第语句
    (2)条件转移语句条件转移语句转移语句
    (3)紧条件转移语句面语句

    4.(6分)运行时DISPLAY表容什?作什?
    答:DISPLAY表嵌套层次显示表进入程建立活动记录区时建立张嵌套层次显示表diaplay假定现进入程层次idiaplay表含i+1单元顶单元次存放着现行层直接外层…直外层(程序0层)等层程新活动记录起始址通DISPLAY表访问外层程变量

    5.(6分)列四元式序列生成目标代码:
    AB*C
    DE+F
    GA+D
    HG*2
    中H基块出口活跃变量 R0R1寄存器
    答:
    LD R0 B
    MUL R0 C
    LD R1 E
    ADD R1 F
    ADD R0 R1
    MUL R0 2
    ST R0 H

    二设S{01}正规集S倒数第二字符1字符串组成请出该字集应正规式构造识该正规集DFA(8分)
    答:
    构造相应正规式:(0|1)*1(0|1) (3分)
    NFA (2分)
    1 1

    1
    0
    4
    3
    2
    e e e e 1


    0 0
    确定化:(3分)
    I


    {012}
    {12}
    {123}
    {12}
    {12}
    {123}
    {123}
    {124}
    {1234}
    {124}
    {12}
    {123}
    {1234}
    {124}
    {1234}

    0
    1
    4
    3
    2
    1
    0
    0 1 0 0

    0 1

    1 1

    三写文法语言L(G){ anbmambn | mn≥1}(6分)
    答:文法G(S)
    S ® aSb | B
    B ® bBa | ba

    四文法G(E) (8分)
    E®T|E+T
    T®F|T*F
    F®(E)|i
    E
    T
    F
    (
    E
    )
    E
    +
    T
    F
    i
    T
    T
    *
    F
    1 写出句型(T*F+i)右推导画出语法树
    2 写出述句型短语直接短语句柄素短语


    答:
    1 (4分)
    EÞTÞFÞ(E) Þ(E+T) Þ(E+F)
    Þ(E+i) Þ(T+i) Þ(T*F+i)

    2 (4分)
    短语:(T*F+i) T*F+i T*F i
    直接短语:T*F i
    句柄:T*F
    素短语:T*F i


    五设文法G(S):(12分)

    1. 构造非终结符FIRSTVTLASTVT集合
    2. 构造优先关系表优先函数(12分)
    答:(6分)
    FIRSTVT(S){ i+)( }
    FIRSTVT(A){ +)( }
    FIRSTVT(B){ )( }

    LASTVT(S){ i+*( }
    LASTVT(A){ +*( }
    LASTVT(B){ *( }

    优先关系表 (3分)

    i
    +
    (
    )
    *
    i
    >
    <
    <
    <

    +
    >
    >
    <
    <
    >
    (
    >
    >


    >
    )

    <
    <
    <

    *
    >
    >


    >

    优先函数 (3分)

    i
    +
    (
    )
    *
    f
    2
    6
    6
    1
    6
    g
    1
    4
    6
    6
    1
    六设某语言dowhile语句语法形式 (9分)
    S ® do S(1) While E
    语义解释:


    S(1)代码
    E代码





    针语法分析器求构造该语句翻译模式:
    (1) 写出适合语法制导翻译产生式
    (2) 写出产生式应语义动作
    答:(1) 适合语法制导翻译文法(3分)
    G(S)
    R® do
    U®R S(1) While
    S®U E
    (2) (6分)
    R® do
    { RQUADNXQ }
    U®R S(1) While
    { UQUADRQUAD
    BACKPATCH(SCHAIN NXQ) }
    S®U E
    { BACKPATCH(ETC UQUAD)
    SCHAINEFC }
    答案二:
    (1) S ® do M1 S(1) While M2 E
    M ®ε (3分)
    (2) M ®ε { MQUAD NXQ } (6分)
    S ® do M1 S(1) While M2 E
    {
    BACKPATCH(S(1)CHAIN M2QUAD)
    BACKPATCH(ETC M1QUAD)
    SCHAINE FC
    }
    七(8分)语句
    if (A0) then while C>0 do CC+D
    翻译成四元式(8分)
    答:
    100 (j< A X 102)
    101 (j 109)
    102 (j> B 0 104)
    103 (j 109)
    104 (j> C 0 106)
    105 (j 109)
    106 (+ C D T1)
    107 ( T1 C)
    108 (j 104)
    109
    (控制结构3分5分)

    八(10分) 设基块:
    T1S+R
    T2 3
    T3 12T2
    T4SR
    AT1T4
    T5S+R
    BT5
    T6T5*T3
    BT6
    (1)画出DAG图
    (2)设AB出基块活跃变量请出优化四元式序列
    T1T5 B
    3
    T2
    4
    S
    R
    +

    *
    _
    T3
    T4
    A
    T6B
    n4
    n5
    n1
    n2
    n3
    n6
    n8
    n7
    答:(1) DAG右图:(6分)










    (2) 四元式序列:(4分)
    T1S+R
    T4SR
    AT1T4
    BT1*4

    九(9分) 设已构造出文法G(S):
    (1) S ® BB
    (2) B ® aB
    (3) B® b
    LR分析表


    ACTION
    GOTO
    状态
    a
    b
    #
    S
    B
    0
    s3
    s4

    1
    2
    1


    acc


    2
    s6
    s7


    5
    3
    s3
    s4


    8
    4
    r3
    r3



    5


    r1


    6
    s6
    s7


    9
    7


    r3


    8
    r2
    r2



    9


    r2



    假定输入串abab请出LR分析程(步骤出状态符号输入串变化程)
    答:
    步骤 状态 符号 输入串
    0 0 # abab#
    1 03 #a bab#
    2 034 #ab ab#
    3 038 #aB ab#
    4 02 #B ab#
    5 026 #Ba b#
    6 0267 #Bab #
    7 0269 #BaB #
    8 025 #BB #
    9 01 #S # acc
    编译原理期末试题(八)
    1.(10分)处* *间串构成注解注解中间没*画出接受种注解DFA状态转换图
    2.语言L = {ambn | 0 £ m £ 2n}(a数超b数两倍)
    写LR(1)文法准超6产生式(超6产生式分写文法LR(1)文法5分)
    3.(10分)构造面文法LL(1)分析表
    D ® TL
    T ® int | real
    L ® id R
    R ® id R | e

    4.(15分)面文法

    S ® ( L) | a L ® L S | S

    · 出语法制导定义输出配括号数
    · 出翻译方案输出a嵌套深度
    句子(a (a a) )第题输出2第二题输出1 2 2
    5.(10分)Pascal语言for语句含义见教材第222页题713请该语句设计种合理中间代码结构第215页图717方式者第219页图719方式写出设计需写产生中间代码语法制导定义
    6.(5分)C语言程序:
    func(i1i2i3)
    long i1i2i3
    {
    long j1j2j3
    printf(Addresses of i1i2i3 ooo\n&i1&i2&i3)
    printf(Addresses of j1j2j3 ooo\n&j1&j2&j3)
    }
    main()
    {
    long i1i2i3
    func(i1i2i3)
    }

    该程序某种机器Linux运行结果:

    Addresses of i1i2i3 277777754602777777546427777775470
    Addresses of j1j2j3 277777754442777777544027777775434

    面结果出func 函数3形式参数址次升高3局部变量址次降低试说明什会区

    7.(15分)C语言程序某种机器linux操作系统编译结果根生成汇编程序解释程序中四变量作域生存期置初值方式等方面区

    static long aa 10
    short bb 20

    func()
    {
    static long cc 30
    short dd 40
    }
    file staticc
    version 0101
    gcc2_compiled
    data
    align 4
    type aa@object
    size aa4
    aa
    long 10
    globl bb
    align 2
    type bb@object
    size bb2
    bb
    value 20
    align 4
    type cc2@object
    size cc24
    cc2
    long 30
    text
    align 4
    globl func
    type func@function
    func
    pushl ebp
    movl espebp
    subl 4esp
    movw 402(ebp)
    L1
    leave
    ret
    Lfe1
    size funcLfe1func
    ident GCC (GNU) egcs29166 19990314Linux (egcs112 release)
    8.(10分)C语言种类型语言强类型语言编译时类型检查保证接受程序没运行时类型错误例编译时类型检查般保证运行时没数组越界请举样例子说明C语言强类型语言
    9.(10分)果A机器C语言编译器CCA源码SA(C语言写成)利通量少工作B机器C语言编译器CCB
    10.(5分)表达式(lx(lyz(x + y) + z) 3) 4 5(lx(lyz(x + y) + z) 3 5) 4样结果抽象机FAM表达式应目标代码执行效率高?什?
    参考答案
    1.
    1
    2
    4

    start
    5
    2
    others
    others

    *
    *
    *





    2.LR(1)文法 LR(1)文法 二义文法
    S ® AB | aABb S ® AB S ® AASb | e
    A ® aaAb | e A ® aaAb | ab | e A ® a | e
    B ® Bb | e B ® Bb | e
    3. int real id
    D D®TL D®TL
    T T®int T®real
    L L®id R
    R R ® id R R ® e
    4. S¢ ® S print(Snum)
    S ® (L) Snum Lnum +1
    S ® a Snum 0
    L ® L1S Lnum L1num + Snum
    L ® S Lnum Snum
    S¢ ® {Sdepth 0} S
    S ® {Ldepth Sdepth +1} (L)
    S ® a {print(Sdepth)}
    L ® {L1depth Ldepth} L1 {Sdepth Ldepth} S
    L ® { Sdepth Ldepth} S
    5. t1 initial
    t2 final
    if t1 > t2 goto L1
    v t1
    L2 stmt
    if v t2 goto L1
    v v + 1
    goto L2
    L1
    6.实参表达式反序进入活动记录局部变量序活动记录中分配
    7.aa静态外部变量bb外部变量分配静态数区(data伪指令开始)bb伪指令globl指明全局解决文件中bb外部引aa文件引cc静态局部变量aabb样生存期整程序分配静态数区cc源程序中作域函数func体目标文件中作域少已整文件避免源文件中外部变量函数静态局部变量名字突进行改名成cc2cc全局cc2前面没伪指令globldd动变量作域函数func体生存期该函数激活期间分配栈区置初值运行时赋值实现

    8.例联合体类型检查般编译时完成然面例子静态判断类型错误
    union U { int u1 int *u2} u
    int *p
    uu1 10
    p uu2
    *p 0
    9. · 修改源码SA 代码生成部分产生B机器代码称结果程序SB
    · SB提交CCA进行编译执行程序
    · SB提交述执行程序进行编译需编译器CCB
    10.第表达式执行lyz(x + y) + z) 3时出现参数数足情况FUNVAL值进入栈顶然发现参数数足做成FANVAL情况第二表达式执行(lyz(x + y) + z) 3 5会出现参数数足情况第二表达式执行效率第表达式高

    编译原理期末题
    1 设文法G(S)试消左递
    G(S):S—>Ac|c
    A—>Bb|b
    B—>Sa|a
    解:S→abcS′|bcS′|cS′ S′→abcS′|
    2 试构造面G(S)等价左递文法
    G(S):S—>Sa|Nb|c
    N—>Sd|Ne|f
    解:S→fN′bS′|cS′ S′→aS′|dN′bS′| N′→eN′|
    3 设文法G(S):
    S—>aBc|bAB
    A—>aAb|b
    B—>b|ε
    ①求产生式FIRST集FOLLOW(A)FOLLOW(B)产生式SELECT集
    ②构造LL(1)分析表分析符号串baabbb否
    解:(1)FIRST(aBc){a} FIRST(bAB){b} FIRST(aAb){a} A→b FIRST(A→b){b} B→b FIRST(b) {b} FIRST(ε){ε}
    FOLLOW(A){b #} FOOLOW(B){c #}
    SELECT(S→aBc){a} SELECT(S→bAB) {b} SELECT(A→aAb){a} SELECT(A→b){b} SELECT(B→b){b} SELECT(B→){c #}
    LL(1)分析表表A4示
    表A4 LL(1)分析表
    输入
    VN
    输入符号
    a
    b
    c
    #
    S
    S→aBc
    S→bAB


    A
    A→aAb
    A→b


    B

    B→b
    B→
    B→

    (2)分析符号串baabbb成功baabbb该文法句子图A16示

    图A16 识串baabbb程
    4 列文法G(S):
    S—>D(R) R—>RP|P
    P—>S|I D—>i
    ①计算文法G中非终结符FIRSTVT集LASTVT集
    ②构造文法G算符优先关系矩阵
    解:(1)FIRSTVT(S){( i}FIRSTVT(D) {i}FIRSTVT(R){ ( i}FIRSTVT(P){i (}LASTVT(S){)}LASTVT(D){i}LASTVT(R) { ) i}LASTVT(P){i )}
    (2)算符优先矩阵表A5示
    表A5 优先矩阵

    (
    )

    i
    #
    (





    )











    i





    #





    5 已知文法G(S):
    S—>a|(T)
    T—>TS|S
    ①出句子((aa)a)左推导画出语法树②出句型(Ta(T))短语直接短语素短语左素短语句柄活前缀
    解:(1)左推导:S(T)(TS)(SS) (aS)(a(T))(a(TS))(a(SS))(a(a S))(a(aa))
    语法树:图A16示

    图A16 (a(aa))语法树
    (2)句型(T a (T))短语直接短语素短语左素短语句柄活前缀语法树(图A17)
    短语:a || Ta || (T) || T a (T) || (T a (T))
    直接短语:a || (T)
    素短语:a || (T)
    左素短语:a
    句柄:a
    活前缀: || ( || (T || (T || (T a

    图A17 (Ta(T))语法树
    6 设文法G(S):
    S—>a|aAb     S—>b|bBa
    A—>1A0|ε      B—>1B0|ε
    求①LR(0)项目集族②构造识文法G(E)DFA
     ③构造文法G(E)SLR(1)分析表
     ④分析句子a1100b识程
    解:(1)(2)LR(0)项目集族识活前缀DFA图A19示
    图A19 LR(0)
    项目集族DFA
    (3)(4)略


    欢迎您光Word文档载修改编辑双击删页眉页脚谢谢希您提出您宝贵意见意见进步动力赠语 1果做做会笑果做做会笑索性做更笑吧 2现玩命学命玩3知道年少轻狂知道胜者王4做金钱权利奴隶应学会做金钱权利5什时候离光明?觉黑暗太黑时候6值欣赏风景奋斗足迹 7压力努力牛×倍然努力

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    相关文档

    编译原理期末试题附答案

    《编译原理》期末试题(一)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。(× )2.一个有限状态自动机中,有且仅有一个唯一的终态...

    1年前   
    428    0

    《编译原理》课程实验报告

    《编译原理》课程实验报告题 目: 词法分析器实验 专 业: 计算机科学与技术 班 级: 1班 学 号: ...

    3年前   
    628    0

    编译原理实验指导书

    目 录相关问题说明 1实验题 2实验1 词法分析(2课时) 3实验2 语法分析(2课时) 5实验3 语义分析(2课时) 7实验4 代码生成(2课时) 9参考书目 11相关问题说明本课程共有4个...

    3年前   
    585    0

    编译原理课后习题答案

    编译原理课后习题答案Chapter 11.解答:程序设计语言:程序设计语言是遵守一定规范的、描述“计算”(Computing)过程的形式语言。一般可以划分为低级语言和高级语言两大类。低级语言是...

    2年前   
    602    0

    编译原理课程设计报告 简单编译器的设计与实现

     编译原理课程设计 ——简单编译器的设计与实现 班 级: 组长: 组员: 指导教师: 设计时间: ...

    5年前   
    1897    0

    广东海洋大学编译原理期末复习资料

    广东海洋大学《编译原理》期末试题(一) 一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分) 1.编译程序是对高级语言程序的解释执行。(× ) 2.一个有限状态自动机中...

    5年前   
    1769    0

    编译原理语法分析实验报告

    编译原理语法分析实验报告软工班一、 实验内容二、 实验目的三、 实验要求四、 程序流程图l 主函数;l scanner();l irparser()函数l yucu() /*语句串分析*/l...

    2年前   
    950    0

    编译原理实验3-4预测分析表方法

    实验3-4 预测分析表方法班级:_ _ 学号:_ _ 姓名:_ _ 得分:_ _一、实验目的理解预测分析表方法的实现原理。二、实验内容: ...

    1年前   
    324    0

    编译原理实验报告LR(1)分析法

    河南工业大学实验报告课 程 编译原理 实验名称 实验四 LR(1)分析法 一. 实验目的 1.掌握LR(1)分析法的基本原理; 2.掌握LR(1)分析表的构...

    2年前   
    1057    0

    编译原理课程设计心得体会

    编译原理课程设计心得体会  经过一个星期的编译原理课程设计,本人在刘贞老师的指导下,顺利完成该课程设计。通过该课程设计,收获颇多。  一、对实验原理有更深的理解  通过该课程设计,掌握了什么是...

    11年前   
    635    0

    编译原理实验报告LL(1)分析法

    课 程 编译原理 实验名称 实验二 LL(1)分析法 实验目的 1.掌握LL(1)分析法的基本原理; 2.掌握LL(1)分析表的构造方法; 3.掌握LL(1...

    1年前   
    407    0

    实验2.正规式的定义与应用 编译原理实验报告

    实验2. 正规式的定义与应用一、 实验目的1. 熟悉正规式的构造方法;2. 熟悉从字符串中识别特定字符串的方法;3. 复习对文件的操作。二、 实验内容和要求已知一段C语言程序:#include...

    1年前   
    414    0

    编译原理实验报告(一)词法分析程序

     编译原理实验报告(一) ----词法分析程序【目的要求】 通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的...

    3年前   
    779    0

    编译原理实验报告3-LL(1)文法构造

    实验3 LL(1)文法构造一、实验目的熟悉LL(1)文法的分析条件,了解LL(1)文法的构造方法。 二、实验内容1、编制一个能够将一个非LL(1)文法转换为LL(1)文法;2、消除左递归;3...

    2年前   
    305    0

    编译原理课后习题第三版答案

    第二章P36-6(1)是0~9组成的数字串(2)最左推导:最右推导:P36-7G(S)P36-8文法:最左推导:最右推导:语法树:/******************************...

    2年前   
    509    0

    西电编译原理上机报告DBMS的设计与实现

    编译原理上机报告《DBMS的设计与实现》学号: 姓名: 手机: 邮箱: 完成时间:2013 年X月X日目 录1. 项目概...

    2年前   
    317    0

    编译原理课程设计LR(0)分析器自动构造程序

    XX学院工科课程设计 -《编译原理》课程设计报告 题 目: LR(0)分析器自动构造程序的实现 学 号: ...

    2年前   
    401    0

    语义分析与中间代码生成天津理工大学编译原理实验3

    实验报告学院(系)名称:计算机与通信工程学院姓名学号专业班级实验项目实验三:语义分析与中间代码生成课程名称编译原理课程代码实验时间实验地点计算机软件实验室计算机软件实验室批改意见成绩教师签字:...

    1年前   
    240    0

    编译原理-实验报告2-递归下降分析法

    计算机硬件实验室实验报告姓名学号班 级成 绩 设备名称及软件环境递归下降分析一、实验目的: 根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的...

    3年前   
    602    0

    《轧钢原理》试题

    《轧钢原理》试题 一.填空题(30%,每格1分) 1.体积不变定律是指   金属(铸态组织除外)在压力加工前后其体积保持不变   。 2.改善咬入条件的措施可从以下三个方面考虑    减...

    12年前   
    12776    0

    文档贡献者

    x***2

    贡献于2022-04-28

    下载需要 4 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档