题目链接:uva 11291 - Smeech
题目大意:就是有一个脑残,又发明了一种机器语言,语言有两种,一种直接就是一个值,一种就是三元式(p e1 e2),有p的概率为e1+e2,1-p的概率为e1-e2.三元式的值即为期望。给定一个语句,求值。注意语句可以嵌套的。
解题思路:期望很容易求,主要是因为语句有嵌套,所以用类似语法分析的方法处理,具体看代码。
#include
#...
分类:
其他好文 时间:
2014-08-12 00:49:43
阅读次数:
296
上星期写完词法分析器的时候,曾遇上一个无关紧要却X疼的问题。毕竟是第一次完整地写整个语言的编译器(暂且这么叫着吧,解释器更靠谱),由于经验不足,在字符串解析这一块驻足了两天才解决掉,这里记录下来供以后参考。哦对了,之所以想自己手写词法分析器,并不是我不知道有自动工具可以自动生成,而是我不会用,嗯,果...
分类:
数据库 时间:
2014-08-10 18:19:10
阅读次数:
414
1.3 词法分析中的‘贪心法’
每个符号应该包含尽可能多的字符。需注意的是符号中间不能有空格。
a---b等同于表达式a -- - b
但是不同于a - -- b
y/*p; /*被解释为一段注释的开始
正确有意义的写法应该是y=x/ *p或者y=x/(*p);
1.5 字符与字符串
用单引号引起的一个字符实际上代表一个整数。
用双引号引起的字符串,代表的却...
分类:
其他好文 时间:
2014-08-09 16:01:08
阅读次数:
246
Flex如何处理二义性模式:1、词法分析器匹配输入时匹配尽可能多的字符串2、如果两个模式都可以匹配的话,匹配在程序中更早出现的模式上下文相关的记号flex提供起始状态(start state)的概念,可以动态地开启和关闭针对特定模式的识别,对于处理上述上下文相关的情况比较有用。Flex词法分析器中的...
分类:
其他好文 时间:
2014-08-07 18:41:21
阅读次数:
373
由于老师要求,最近在做oceanbase存储过程的实现,在oceanbase 0.4以前是不支持存储过程的。实现的主要步骤主要包括
1、语法解析
2、词法解析
3、具体执行语法树的步骤
现在先来说说语法解析吧,在这一块主要是使用的flex( 词法分析器生成工具) 和bison(语法分析器生成器) 这两个是对用户输入的存储过程语句进行解析的
来具体说说该怎么实现对sql语句的分析吧
...
分类:
数据库 时间:
2014-08-06 14:59:51
阅读次数:
468
2 -语言这一节从词法、语法、句法上描述 Lua 。 换句话说,这一节描述了哪些 token (符记)是有效的,它们如何被组合起来,这些组合方式有什么含义。关于语言的构成概念将用常见的扩展 BNF 表达式写出。也就是这个样子: {a} 意思是 0 或多个a, [a] 意思是一个可选的a。 非最终的符...
分类:
其他好文 时间:
2014-08-04 01:46:46
阅读次数:
242
调试,这是一个无法规避的问题 C#Light 由于有 词法解释、语法解释、运行时三种情况 所以和C#也是有类似的问题 出错大致可以分为编译错误和运行时错误 拼写出莫名的东西或者语法不正确,会在编译阶段报错,这种错误很好检查,因为 C#Light语法是C#的严格子集,所有的C#Light脚本都可以用C...
分类:
其他好文 时间:
2014-08-03 22:55:56
阅读次数:
368
首先写词法分析器: 词法分析器要返回记号: “+” 返回ADD “-” 返回SUB “*” 返回MUL “/” 返回DIV 输入的实数全部被当作double类型处理 换行符返回CR calc.l: %{#include #include "y.tab.h"int yywrap(void){ /*免链...
分类:
其他好文 时间:
2014-07-28 14:25:53
阅读次数:
329
1. 词法“陷阱”= 不同于 == , 可以通过if( 1 == a )来避免& | 不同于 && ||词法分析中的“贪心法”编译器将程序分解成符号的方法是,从左到右一个字符一个字符地读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部...
分类:
其他好文 时间:
2014-07-25 14:17:11
阅读次数:
296
这次实验被“过来人”们定位非常easy,实验内容例如以下:-----------------------------------------------------------------------------------对例如以下工作进行展开描写叙述(1)给出语言的词法规则描写叙述· 标识符、k...
分类:
其他好文 时间:
2014-07-24 22:13:12
阅读次数:
330