zoukankan      html  css  js  c++  java
  • 3-编译原理

    考点:

    n  文法

    n  正规式

    n  有穷自动机

    n  语法推倒树

    n  算符优先

    文法

    认识终结符和非终结符

    终结符:是最终的符号,是不可以单独在推导式的左边     小写字母表示

    非终结符:是可以拆分的       大写表示

    通常用S表示为开始符

    文法类型:

    Vn:表示非终结符的集合

    Vt:表示终结符的集合

    P:推导式的集合

    S:表示开始符

    关于3型文法的详细解释,在随笔中可以找到

    链接:http://www.cnblogs.com/tangwanzun/p/5879577.html

    正规文法和正规式的转化

    规则二中并不是x乘以y

    其中A->aX 是一个递归式 ,x※  表示x有0到无穷多个 但是,他最终也等于y  所以写作x※y

    试题:

    S可以xSx或者y,其中的xSx中的S又可以展开,那么就是xyx或者xxSxx,xxSxx又可以展开,不断下去,总是两边有一样多的x,然后中间一个y

    所以选择D

    选择排除法:

    等价的概念:就是两个正则式可以相互表示,即,A正则式可以表达出B正则式的任意组合,反之相同

    1. 可以看到,每一项中后面都有一个b,所以我们可以不看b
    2. (aa*|ab)代指的是,由aa*和ab构成的

        a)      文法特征: b前面必须有一个a

      3.(a|b)表示由a或b组成

        a)      文法特征:只要有a或b就可以

        4.((a|b)|aa)

        a)      文法特征:只要有a或b就可以

        b)      解释:这个是由两部分构成(a|b)和aa,因为这两部分是或的关系,所以两者出现一个就可以,而且(a|b)还存在于正则式2中,所以可以看出2                          与3是等价的

           5. 此题选择C

    a可以是零个或者是多个

    我们由规则2知道,am等价于a※

    b必须是一个以上,则b是bb※,只有这样才能保证b至少是一个

    所以此题选择A

    提醒:关于正则式的相关知识,其实太过于复杂,不适合初学者学习,即便是不懂也不用过于在意,考试中牵扯的只是简单的转化和理解,只要能够理解上面题目,就可以应付软件设计师的考试

     

  • 相关阅读:
    virtualenv与virtualenvwrapper
    数据类型、变量定义、数据类型转换
    计算机存储单元、标识符
    html单页面中用angular js
    svn客户端访问失败,错误“请求的名称有效,但是找不到请求的类型”的解决
    php 获取某数组中出现次数最多的值(重复最多的值)与出现的次数
    数据库导入时出现“2006
    phpstorm 激活
    取消本地SVN文件夹与服务器的关联
    js实现倒计时函数
  • 原文地址:https://www.cnblogs.com/tangwanzun/p/5897677.html
Copyright © 2011-2022 走看看