16 个回答 默认排序? 16 个回答 默认排序? 默认排序? RednaxelaFX JavaScript、编译原理、编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能。我一开始学编译原理的时候就是用Java写了好多小编译器和解释器。其实用什么语言来实现编译器并不是最重要的部分(虽然Ja ...
分类:
编程语言 时间:
2018-11-13 20:44:16
阅读次数:
251
java源代码(符合语言规范)-->javac-->.class(二进制文件)-->jvm-->机器语言(不同平台不同种类) 如何让java的语法规则适应java虚拟机的语法规则?这个任务由javac编译器来完成java语言规范转换成java虚拟机语言规范。 编译流程: 流程: 词法分析器:将源码转 ...
分类:
编程语言 时间:
2018-11-13 20:43:40
阅读次数:
215
1. 关于动态加载机制 学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点,所谓的动态加载机制等等。当然概念往往是先记住而后消化的,可有多少人真正去体会过动态加载的机制,试图去寻找过其中的细节呢? 提供大家一个方法:在命令行窗口运行J ...
分类:
编程语言 时间:
2018-11-13 20:39:38
阅读次数:
122
沉淀再出发:jvm的本质 一、前言 关于jvm,使用的地方实在是太多了,从字面意思上我们都能明白这也是一个虚拟机,那么其他的虚拟机都会用来运行别的操作系统的,而jvm却是实现了可以在不用的操作系统之上运行同样的字节码文件,以此来实现代码的可移植性,大家可以看一下编译原理,就知道了jvm运行代码的本质 ...
分类:
其他好文 时间:
2018-11-11 15:06:25
阅读次数:
240
学了100多天java知道了要抓住本质、最底层学习,比如堆和栈啊,类是怎么加载的啊,再深一点的话就要看编译原理了,还是羡慕计算机专业的。 静态成员不可调用非静态成员,static称为静态,静态成员的最根本作用是区分属性,方法,内部类,初始化块成员到底属于类本身,还是属于类的实例,有static修饰的 ...
分类:
编程语言 时间:
2018-11-10 23:58:53
阅读次数:
281
// Lexical_Analysis.cpp : 定义控制台应用程序的入口点。 // #include "stdio.h" #include "stdlib.h" #include "string.h" #include "iostream" using namespace std; //词法分析... ...
分类:
其他好文 时间:
2018-11-03 14:01:40
阅读次数:
146
/* 待分析的简单语言的语法 用扩充的BNF表示如下: ⑴::=beginend ⑵::={;} ⑶::= ⑷::=ID:= ⑸::={+ | -} ⑹::={* | / ⑺::=ID | NUM | () */ #include "stdio.h" #include "string.h" char... ...
分类:
其他好文 时间:
2018-11-03 14:00:29
阅读次数:
191
编译程序的核心组件 lexical analyzer syntax analyzer semantic analyzer intermediate code generator machine independent code optimizer code generator machine dep ...
分类:
其他好文 时间:
2018-11-01 01:07:22
阅读次数:
152
一、实验要求 不得不想吐槽一下编译原理的实验代码量实在是太大了,是编译原理撑起了我大学四年的代码量... 这次实验比上次要复杂得多,涵盖的功能也更多了,我觉得这次实验主要的难点有两个(其实都是难点...): 1. 提取左公因子或消除左递归(实现了消除左递归) 2. 递归求First集和Follow集 ...
分类:
其他好文 时间:
2018-10-31 20:04:50
阅读次数:
322
webpack 基础 貌似这些属于编译原理的内容。 当时看了一点编译原理,当中的自动机,彻底懵。 不过大概了解了一点内容。感觉webpack一个打包工具非常类似于一个编译器,将一个文件,转换为另外一个文件。 一些概念 入口 入口,即寻找入口文件的及其依赖项的文件。即编译前的文件 配置文件为webpa ...
分类:
Web程序 时间:
2018-10-17 20:43:41
阅读次数:
240