代码下的雨 2023-04-27 21:45 采纳率: 50%
浏览 16

编译原理问题解答文法

已知文法G(S):S→aS|bS|c
(1)列出这个文法的所有LR(0)项目
(2)计算项目集规范族并构造识别活前缀的D
(3)构造LR(0)分析表。

  • 写回答

1条回答 默认 最新

  • Chauncy昌西 2023-04-27 22:02
    关注

    (1) LR(0) 项目是指形如 [A → α·β] 的项,其中 A 是文法符号,α 和 β 是文法串。在这个文法 G(S): S → aS | bS | c 中,我们有以下的 LR(0) 项目:

    I0:
    [S' → ·S]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I1:
    [S' → S·]

    I2:
    [S → a·S]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I3:
    [S → b·S]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I4:
    [S → c·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    (2) 接下来,我们需要构造这个文法的 LR(0) 项集规范族,并且基于这个规范族构造 DFA。构造项集规范族的过程如下:

    I0:
    [S' → ·S]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I1:
    [S' → S·]

    I2:
    [S → a·S]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I3:
    [S → b·S]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I4:
    [S → c·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I5:
    [S → aS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I6:
    [S → bS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I7:
    [S → aS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I8:
    [S → bS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I9:
    [S → c·]
    [S → aS·]
    [S → ·aS]
    [S → bS·]
    [S → ·bS]
    [S → ·c]

    I10:
    [S → aS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I11:
    [S → bS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I12:
    [S → aS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I13:
    [S → bS·]
    [S → ·aS]
    [S → ·bS]
    [S → ·c]

    I14:
    [S → c·]
    [S → aS·]
    [S → ·aS]
    [S → bS·]
    [S → ·bS]
    [S → ·c]

    在这里,我们可以使用以下的 DFA 来识别输入的活前缀:

       +---a--+               +---b--+
       |      |               |      |
       v      v               v      v
    =>(I0)---a-->(I2)---a--->(I5)---ε-->(I10)*
       |                |             |
       b                b             c
       |                |             |
       v                v             v
      (I3)             (I6)          (I4)*
       |                |             |
       a                a             a
    
    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 5月30日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红