• 编译原理


    什么是编译原理

          编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。


    学习编译原理的好处

    1、可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的
    2、可以更加客观的比较不同语言的差异

    3、更不容易被某个特定语言的宣扬者忽悠

    4、学习新的语言是效率也会更高

    5、其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余

     

    6、学会了编译原理,就可以用编译原理的眼光来看带我自己的代码,写出了优秀的单元测试。


    不学的损失

    1、不能用语法分析来分析出一段用户上传是否含有代码,从而让你的网站更完善。
    2、不能分析和分解用户输入的SQL语句,理解是否有害和是否有SQL注入。
    3、无法在业务软件中结算方面允许用户输入条件表达式和四则运算,允许用户自定义结算公式或条件,使软件上一个档次。
    4、学习编译原理甚至可以实现自己创造的编程语言,以后编程全用自语言来做,然后编译成老板要的那种语言。有的公司要JAVA,有的公司要C#,C++,VB等等你都不必每样都费心了。这样做还有一个好处,你的源程序其实是自语言,目标代码则是社会上公认的源程序,所以是可以公开的。如果以这种技术为核心技术开公司的话,则有着技术上更高一层的先进性,这种核心竞争力是很值钱的,不学就没有这方面的优势。

     

    怎么学习

    1、要读:《编程语言实现模式》,主要用ANTLR讲解各种例子。《领域专用语言实战》用Ruby、Groovy等语言讲解。

    2、得至少懂点计算机硬件原理。。例如所有运算只能在特定的寄存器中计算,然后存回ram(变量所在地)

    3、上课认真听讲,作业认真完成。

    4、多自己实践学习,遇到不懂的,就问同学问老师,上网或者看书找答案。

  • 相关阅读:
    【原】Sql2005 实现递归
    asp.net core api路由及多语言切换的实现
    一条语句实现查询各类别前10条记录
    【转】javascript操作cookies 以及 正确使用cookies的属性
    php 文件POST上传的原理及实现
    css3对background的调整与增强
    浅议javascript 中继承模式 (javascript高级程序设计)
    递归和递推:javascript求斐波那契数列的尾递归方法(转载)
    python中xrange和range的异同
    [译] JavaScript核心指南(JavaScript Core) 【转】
  • 原文地址:https://www.cnblogs.com/wban48/p/5857403.html
Copyright © 2020-2023  润新知