zoukankan      html  css  js  c++  java
  • 编译原理要点

    1.自底向上 要写:驱动程序

    2 自底向上 关键:寻找句柄

    3.产生正规语言的文法为 3型

    4.与(a|b)* 等价的正规式为 (a*b*)*

    5.消除左递归:要引进非终结符,提取左因子

      S-> SaA|Se|B    ->  S(aA|e)|B  引进非终结符S“(,)    非终结符要放在最后。 ->BS‘       S'->(aA|e)S'|反三

     A-> BbA|B  ->B(bA|e) 引进非中劫符A’      ->BA'    A'-.>bA|e

    6.LR(k)方法是 从左到右 每次向前预测k步的一种编译方法

    7.递归下降法允许任一一个非终结符是直接左递归的。

    8简单文法不允许任一产生式产生相同右部

    9.编译程序包含五个部分:词法分析 语法分析 中间代码生成  代码优化 目标代码生成

    10.词法分析 用于识别单词

    11.语法分析:发现语法错误

    12.关于解释程序描述正确的是:解释程序在处理程序时不产生目标代码

    13.解释程序处理语言时采用的方法是:将源程序转为中间代码 再解释执行。

    14.语法分析器的作用:1.分析单词如何构成语句与说明 2.分析语句与说明如何构成程序 3.分析程序的结构

    15.编译程序是一种解释程序

    16.文法G 所描述的语言是:由文法的开始符号推出的所有终极符号的集合

    文法分四种类型:0型文法:前后文无关文法      1型文法:前后文有关文法  2型文法:上下文无关文法    3 型文法:正规文法

    17.一个上下文无关文法包含四个部分:1.一组非终结符 2.一组终结符 3.一个开始符号 4.一组产生式

    18.编译原理:除了 词法分析 语法分析 语义分析 中间代码生成 代码优化 还伴随有:表格处理 与 出错处理

    19.如果源程序是高级语言写的,目标程序是机器语言程序或汇编程序,其翻译程序称为编译程序

    20.编译方式与解释方式的根本区别在于:是否产生目标代码

    21.对于编译程序而言:输入的是源程序 输出的是目标程序

    22.产生式是用于定义 语法成分的一种书写规则

    23.语法分析最常用的两种分析方法:自上而下 自下而上

    24.1.什么是句子:设G是给定的文法,S是开始符号,如果Sx(x属于VT*) x称为一个句子

         2.什么是语言:设G【s】是给定文法,由G 定义的L【G】为 L[G]={x|Sx x属于VT*}

    25正规文法产生的语言都可以用上下文无关文法来描述

    26.注意一般 p->np|N 右侧p写在右侧

     2.新变量放左侧 最后一步推导循环变量放右侧

     

     

     有孩子才叫树,(T)带括号的不能作为树的跟节点,要带上一层,但是其短语要用()包裹住。

    不带括号的短语是直接短语。

    自身也是子树

    一个结点不能称为树

     

    句柄,最左直接短语要从子树上找。

     

     

  • 相关阅读:
    jquery 的 outerWidth() 、width() 、innerWidth()
    图片自动切换 避免 鼠标快速滑过
    Ajax中日历控件的使用
    asp.net如何读取xml文件中的数据
    ASP.NET使用AspNetPager实现简单的分页功能
    XmlDataDocument与DataSet相互转化
    C#中如何过滤掉多余的html代码
    asp.net的几种经典的页面传值方法
    ASP.Net分页方法详解
    ASP.Net中省市级联有关
  • 原文地址:https://www.cnblogs.com/yzdwd/p/13234901.html
Copyright © 2011-2022 走看看