zoukankan      html  css  js  c++  java
  • 程序设计语言与语言处理程序基础.md

    1. 编译过程

      1. 编译顺序-源程序→词法分析→语法分析→语义分析→中间代码生产→代码优化→目标代码生成→目标程序
      2. 词法错误:非法字符,关键字或标识符拼写错误
      3. 语法错误:语法结构出错,if,endif不匹配,缺分号
      4. 语义错误:死循环,零除数,其他逻辑错误
    2. 有限自动机

      1. 表达式:M=(S,∑,δ,S0,Z)
        1. S是一个有限集,每个元素为一个状态
        2. ∑是一个有穷字母表,每个元素为一个输入字符
        3. δ是转换函数:是一个单值对照
        4. S0属于S,是其唯一的初态
        5. Z是一个终态集(可空)
      2. 有限状态自动机可以形象地用状态转换图表示,设有限状态自动机:DFA=({S,A,B,C,f},{1,0},δ,S,{0}),其中δ(S,0)=B,δ(S,1)=A,δ(A,0)=f,δ(A,1)=C,δ(B,0)=C,δ(B,1)=f,δ(C,0)=f,δ(C,1)=1
    3. 表达式

      1. 前缀表达式:(+ab)
      2. 中缀表达式:(a+b)
      3. 后缀表达式:(ab+)
    4. 函数调用-传值与传址

      1. 传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变
      2. 传址调用(引用调用):形参取得是实参的地址,即相当于实参存储单元的地址引用,因此其值得改变同时改变了实参的值
    5. 各种程序语言特点

      1. Fortran语言(科学计算,执行效率高)
      2. Pascal语言(为教学而开发的,表达能力强,衍生出Delphi)
      3. C语言(指针操作能力强,高效)
      4. Lisp语言(函数式程序语言,符号处理,人工智能)
      5. C++语言(面向对象,高效)
      6. Java语言(面向对象,中间代码,跨平台)
      7. C#语言(面向对象,中间代码,.Net)
      8. Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统)


    作者:开源NetCore
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    《std测试》
    《关于cmp返回值的理解》
    《武汉大学2020年新生程序设计竞赛》
    《多校打卡 * 2018 Multi-University Training Contest 1》
    《牛客练习赛28-B》
    python使用sqlite示例
    python 使用mysql示例
    使用virtualenv为应用提供了隔离的Python运行环境
    生成字母验证码图片
    模拟微博登录
  • 原文地址:https://www.cnblogs.com/Zenderblogs/p/14783049.html
Copyright © 2011-2022 走看看