墨染安然、北巷栀酒 2022-12-26 17:41 采纳率: 66.7%
浏览 69
已结题

编译原理怎么解决实际问题啊,和书上的题不是一个难度啊

img


这个怎么做啊?求指点。课本上全是字母题,那种还可以做,一碰上这种就完了,网上也没搜到这种类似的题,求指教啊

  • 写回答

1条回答 默认 最新

  • |__WhoAmI__| 2022-12-26 17:59
    关注

    下面是微信接龙中订单的正规文法:

    order_list ::= order | order order_list
    order ::= num '-' client '-' order_item
    order_item ::= item_name ' ' num ' ' unit | order_item ',' item_name ' ' num ' ' unit
    item_name ::= 品名
    num ::= 数字
    unit ::= 单位
    client ::= 客户
    

    下面是用于语法分析的上下文无关文法:

    S -> order_list
    order_list -> order | order order_list
    order -> num '-' client '-' order_item
    order_item -> item_name ' ' num ' ' unit | order_item ',' item_name ' ' num ' ' unit
    item_name -> 品名
    num -> 数字
    unit -> 单位
    client -> 客户
    

    下面是用于语义计算的翻译模式:

    当遇到 order_list 规则时,初始化统计数量的哈希表。
    当遇到 order 规则时,遍历 order_item 并统计每种品名的数量。
    当遇到 order_item 规则时,将品名的数量加到哈希表中。
    例如,对于以下订单:

    1.3-2-1101香蕉一份
    2.1-2-1501苹果2份
    3.3-1-2704香蕉一份,苹果一份
    4.4-2-1904-刘 苹果两份

    翻译模式会生成以下输出:

    香蕉:2 份
    苹果:5 份
    望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月26日
  • 已采纳回答 12月26日
  • 创建了问题 12月26日

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题