0909 粗浅的认识编译原理

      经过相关网页的浏览,也看到了各大网站中各方牛人的回答,我似乎对编译原理有了自己一点粗浅的认识。首先,编译原理及技术从根本上来讲就是对算法问题进行求解,这个问题十分复杂,更不用说其解决算法。 而本学期开的算法分析与上学期学习的数据结构也是讲算法的,不过讲的是基础算法,而编译原理这门课程讲的就是比较专注解决一种的算法。它所包含的内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成等这几大类,要学好是相当的困难,需要倾注自己的苦心与耐心。

  学习编译原理可以更好的去理解代码背后的东西,对自己所写的程序、程序语言都会有更深的本质认识,若果拥有这样的认识,自身肯定可以企及更高的高度,我想别人看到的是语法,我看到的,是背后的实现部分。如此一来,拥有对代码更加通透的理解,对以后的代码编写工作具有相当的帮助。

      对于编译原理的学习,作为一个初学者,几乎对书籍都不了解,更不用说如何去通过自己的努力写出一个可以正常使用的编译器,网上说的“龙书”、“虎书”、“鲸书”,三本编译原理中的圣经,完全找不到去看的动力,希望接下来的课程能够激发我的求知欲,那样子,什么书都啃的下。总而言之,兴趣是最好的老师,也是最好的学习方式,有了它,何尝不会自己百度、买书,深入钻研!

      而说到自己编写编译器,我越想越不明白到底应该如何编写,还有用何种语言去入手,没有自己的一个思路。也许是生性愚笨,这非妄自菲薄,本来对于计算机方面的知识就没有更深层次的理解,但我不会放过,会更加用心,在学习多点知识后,再来思考这个问题。

转载于:https://www.cnblogs.com/peivxuan/p/4798154.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP点歌插件,斗鱼弹幕点歌插件_小葫芦社区_小葫芦插件交流 - Powered by Discuz!

更新版本:3.3.7更新日期:2017-04-25更新日志:1. 修复 部分斗鱼房间无法连接弹幕的问题(主要是参与主播带你嗨购活动的主播)2. 修复 其他已知问题更新版本:3.2.16更新日期:2017-03-01更新日志:1. 修复 斗鱼弹…

Java字符串找出4个字节长度的字符

不解释,直接上代码: 由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符: Java代码 public class Byte4Check { public static void main…

java编写sql语句,java实现简单的给sql语句赋值的示例

代码本身很简单。拼接sql的时候?不好数,简单的用来赋值。/*** TODO 循环赋值,缺少的类型可随时添加* author Lucius* param pt* param list* throws SQLException*/public static void setParam(PreparedStatement pt, List list) throws SQLException{f…

div 左右并排,使用CSS如何让两个div并排显示

用CSS如何让两个DIV盒子并排体现呢?各人知道默认情况下DIV是独占一排的,DIV不设置任何CSS格局,这个DIV盒子都邑独有一行踊跃换行。运用CSS让两个DIV并排闪现,排成一排显示思空见贯方式有两种:1、运用display:inline2、…

ASP.NET MVC5 与EF6学习系列

最近学习使用MVC5和EF6,博客园搜索了一番,写下这篇文章记录,以便学习使用。 一、ASP.NET MVC5 网站开发 洞庭夕照写的博客系列 ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP.NET MVC5 网站开发实践(一) -…

耦合度和聚合度

简单地说,对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小. 耦合性是程序结构中各个模块之间相互关联的度量.它取…

php 获取 省份缩写,php获取客户端IP,国家,省份,地区,ISP等信息

php获取客户端IP,国家,省份,地区,ISP等信息,首先获取获取客户端的公网ip,开始本地搭建的环境,本地访问获取到的是127.0.0.1,然后用138的接口可以实现curl模拟客户端访问 http://city.ip138.com/ip2city.asp 可看到真实客户端的ip。…

JStorm-介绍

1.概述 JStorm 是一个类似于 Hadoop 的MapReduce的计算系统,它是由Alibaba开源的实时计算模型,它使用Java重写了原生的Storm模型(Clojure和Java混合编写的),并且再原来的基础上做了许多改进。用户只需按照指定的接口实…

水印鲁棒性的分析matlab程序,图像数字水印+matlab程序

第三章 图像数字水印的方案3.1 图像数字水印的技术方案在数据库中存储在国际互联网上传输的水印图像一般会被压缩,有时达到很高的压缩比。因此,数字水印算法所面临的第一个考验就是压缩。JPEG和EZW(Embedded Zero-Tree Wavelet)压缩是最常见的两种压缩方…

又一个绝对棒的对话框插件fancybox v1.3.4

http://www.jsfoot.com/jquery/demo/2011-07-30/fancybox/index.html jquery插件:fancybox Fancybox的特点如下: 可以支持图片、html文本、flash动画、iframe以及ajax的支持可以自定义播放器的CSS样式可以以组的形式进行播放如果将鼠标滚动插件&#xff…

php this validate,php扩展ZF——Validate扩展

php扩展ZF——Validate扩展更新时间:2008年01月10日 20:27:49 作者:php扩展ZF——Validate扩展之前写了一片文章关于如何在ZF0.6版本下扩展ZF的。这篇应该说是类似的文章,但环境换成ZF1.0RC1版本了。在开始ZF扩展之前,推荐先看看…

大数据资源收集

数据可视化 工具: https://github.com/showcases/data-visualization https://github.com/mbostock/d3 https://github.com/ecomfe/echarts http://www.bootstrapstage.com/admin-lte/ 研究组: http://idl.cs.washington.edu/ 转载于:https://www.cnblog…

php 中间表示语言,[转载]php 底层 探究之php编译过程及中间语言 opcode

Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL,举个例子,比如你写下了如下的PHP代码:echo"Hello World";$a 1 1;echo$a;?>PHP执行这段代码会经过如下4个步骤(确切的来说,应该…

浅谈数据结构-选择排序(简单、堆排序)

选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 选择排序正如定义所讲,在数组查询出最小值,然后放在此次循环开始位置(前一次循环已经获取比它更…

php 去掉多维数组的键名,去除多维数组的最外层key 保留值

如果你是要将JSON转成PHP数组,方法如下首先,你这个数据格式是JSON的,要先转成PHP数组。$a json_decode($a, TRUE);json_decode第二个参数为TRUE表示保留键名,否则JSON转PHP数组之后,PHP数组的键名会重新排序。然后将你…

安装php7的mysql扩展,php7安装mysql扩展的方法是什么

php7安装mysql扩展的方法:1、下载mysql扩展并解压;2、使用phpize工具初始化并进行configure;3、执行【make && make install】命令;4、编辑php.ini文件;5、重启服务。本文环境:windows10系统、php7…

什么是简单的分析SQL注入漏洞

如今非常多人在入侵的过程中基本都是通过SQL注入来完毕的,可是有多少人知道为什么会有这种注入漏洞呢?有的会随口说着对于字符的过滤不严造成的。可是事实是这样吗?我们学这些。不仅要知其然。更要知其所以然!理论联系实际&#x…

python发布服务,Python服务发现:在本地n上发布服务

在本地网络上执行服务通告/发现的一个简单方法是广播UDP包。常数:PORT 50000MAGIC "fna349fn" #to make sure we dont confuse or get confused by other programs公告:from time import sleepfrom socket import socket, AF_INET, SOCK_DGR…

[codevs1262] 不要把球传我 数论+组合数学

没什么好说的,很容易分析出递推公式f[n](n-2)*(n-1)*(n-3) div 6; 代码 beginreadln(n);     writeln((n-2)*(n-1)*(n-3) div 6);end. 巨短,就是这样233() 我不会告诉你这一张是…

php可以用水晶报表吗,什么是水晶报表与水晶报表功能分析

水晶报表水晶报表(Crystal Report)是业内最专业、功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口。在VS.Net平台做过报表开发的程序员,一定都对水晶报表强大、高效、集成等特性留下了深刻…