为算术语言(Arithmetic-Language)实现编译器和解释器
到目前,我们更注重的是语言本身的设计,即前端,没有涉及语言的编译器或解释器的实现,即后端。在这一节,我们将关注后端的实现,由抽象语法树(Abstract Syntax Tree,AST)定义的一种简单的算术语言。第一小节所展示的抽象语法树是基于联合类型的。
在下一章“解析文本”,我们还要回到这个示例,来构建这种语言的...
分类:
其他好文 时间:
2014-06-20 10:48:39
阅读次数:
203
这是MySQL一大特殊之处。
概念上,NULL意味着“没有值”或“未知值”,且它被看作有点与众不同的值。为了测试NULL,你不能使用算术比较运算符例如=、
mysql> SELECT 1 = NULL, 1 != NULL, 1 NULL;
+----------+-----------+----------+----------+
| 1 = NULL ...
分类:
其他好文 时间:
2014-06-20 10:24:02
阅读次数:
152
算术类型:整型(integral type)char : 一个机器字节(1BYTE =
8BIT)bool: 1 BIT整型: int:
与编译环境相关(不是机器),32位的编辑环境则长度为32BIT,故可以使用sizeof(int)来得到编译器环境的位数(返回的是字节长度)short/long/....
分类:
其他好文 时间:
2014-06-11 11:20:39
阅读次数:
175
直接进入主题!1. 三元表达式: 由3个数据参与的表达式.二元表达式: 算术表达式一元表达式:
自增自减.2. 三元表达式的语法:bool表达式?值1:值2;int i = 10; i > 0 ? 100 : 200;3.
三元表达式的结果.如果bool表达式的结果为true 那么这个三元表达式的结...
分类:
其他好文 时间:
2014-06-07 17:00:37
阅读次数:
212
这个例子是来自于严蔚敏的《数据结构》的栈那一节。 但是我进行了一些简单的修改,确保编译通过。
目的:利用栈 计算 “3*(7-2)”这样的字符串的算术运算的结果。 共有3个代码文件,如下:
1、mystack.h
#pragma once
#define maxsize 30
typedef struct
{
char data[maxsize+1];
...
分类:
其他好文 时间:
2014-06-05 07:35:18
阅读次数:
242
函数匹配
1、实参类型转换
1.精确匹配
2.通过const转换实现的匹配
3.通过类型提升实现的匹配
4.通过算术类型转换或者指针转换
5.通过类类型转换实现的匹配
函数匹配和const实参
如果重载函数的区别在于它们的引用类型的形参是否引用了const,或者指针类型的形参是否指向const,则当调用发生时编译器通过实参是否是常量来决定选择哪个类型。
函数指针
使用函数指...
分类:
编程语言 时间:
2014-06-05 01:54:48
阅读次数:
316
C++类型转换分为:隐式类型转换和显式类型转换第1部分.隐式类型转换又称为“标准转换”,包括以下几种情况:1)
算术转换(Arithmetic conversion) : 在混合类型的算术表达式中,
最宽的数据类型成为目标转换类型。intival=3;doubledval=3.14159;ival+...
分类:
其他好文 时间:
2014-06-03 15:29:55
阅读次数:
264
(平均值不等式) 任意 $n$ 个非负实数的几何平均值小于或等于它们的算术平均值, 即
$\forall\ a_i\geq 0\ (i=1,2,\cdots,n)$, 恒有 $$\bex \sqrt[n]{a_1a_2\cdots a_n}\leq
\cfrac{a_1+a_2+\cdots+a_n...
分类:
其他好文 时间:
2014-06-03 09:44:05
阅读次数:
292
SHL、SHR、SAL、SAR: 移位指令
;SHL(Shift Left): 逻辑左移
;SHR(Shift Right): 逻辑右移
;SAL(Shift Arithmetic Left): 算术左移
;SAR(Shift Arithmetic Right): 算术右移
;其中的 SHL 和 SAL 相同, 但 SHR 和 SAR 不同...
分类:
其他好文 时间:
2014-06-03 03:21:11
阅读次数:
365
POJ3952,题目链接http://poj.org/problem?id=3295题意:输入由p、q、r、s、t、K、A、N、C、E共10个字母组成的逻辑表达式,其中p、q、r、s、t的值为1(true)或0(false),即逻辑变量;K、A、N、C、E为逻辑运算符,K-->and:x&&yA--...
分类:
其他好文 时间:
2014-06-02 08:29:53
阅读次数:
215