- token当然就翻译成“词”啦,呵呵
- 目前只有安装VS 11 Preview才有C++ AMP Runtime,还没有单独安装的方式~
- 之前我写了一篇用GPU绘制曼德勃罗特(Mandelbrot)集图像的文章,里面使用的技术是与DirectX 11继承在一起的DirectCompute。DirectCompute执行在GPU上的ker...
- @玄歌
当然是乐趣,特别是你这种性格中有“竞争”特性的人。只不过,正如你所说,大家还得注重效率,各取所需。像我,就想了解技术细节,所以希望早点结束斗嘴,早点结束对无谓“高手”概念的纠结,开始讨论技术细节。 - 地“击倒对手”。结果,根本没有好好分享技术。就成了攻击+自我保护,名词甩了一大堆,经验看似侃侃而谈,其实没说成什么技术。...
- 我优越感再强,也获得不了真正从容的自信。再说成就如此也不算是个菜鸟了,根本用不着这种自我保护,声称有文化的人,懂哲学的人,怎么就是看不开。...
- @莆田物流网-0594wl
是的呀,集合相等的概念。 - @magicDict
别在线等呀。。我一下也写不出来。。研读鲸书中。。 - 前几天技术大牛Vczh同学开发了一个函数图像绘制程序,可以画出方程f(x,y)=0的图像。他的原理是用图像上每一点的坐标带入函数f得到针对x和y的两个方程,再用牛顿迭代法求解得到一组点集,然后画到图像...
- 前一阶段我们完成了编译器中的重要阶段——语义分析。现在,程序中的每一个变量和类型都有其正确的定义;每一个表达式和语句的类型都是合法的;每一处方法调用都选择了正确的方法定义。现在即将进入下一个阶段——代...
- 哈哈,被崇拜了
- 尖括号都没有了哦
- 上回我们已经用VBF的Parsers.Combinators库生成了miniSharp的语法分析器,并且能够将miniSharp的源代码翻译成抽象语法树(AST)。这一回我们要继续进行下一步——语义分...
- @陈梓瀚(vczh)
用yield做延迟计算呀,还真值得一试。等有空了研究下。。 - @_Luc_
ArrayAssign是因为Assign语句左边只能是变量名,不支持表达式。所以a[i] = Exp需要一个不同的语法。其次是因为数组赋值在代码生成阶段要特殊处理,有一个AST节点专门处理比较方便。 - 经过前面四篇的铺垫,我们终于拥有了编写语法分析器的强大工具,现在可以正式开发一门编程语言的语法分析器了。我们先来定义miniSharp的语法规则,然后根据LL文法的特点进行一些调整,最后借助解析器组合...
- int x = 0, y = 0;
test_const_cast(&x, y);
std::wcout << x << std::endl << y << std::endl;
}
[/code]... - @肖敏
并运算在同一个单词的定义里是要写成那样的,但最后把所有的单词并起来的时候,就不能合成一个接受状态了,因为要区分接受了什么单词呀 - @G yc {Son of VB.NET}
终于被你抢到了。。。 - @DiryBoy
不理解你不明白什么。。 - @testzhangsan
有点那个意思,LR就是一个栈加一个有穷自动机 - @irons
因为只支持这一个函数,所以就做成关键字了,好处理~ - @Ivony...
且不说运算符能否重载成功,Tuple的问题才是真正的问题啊 - 针对新优化的ForkableScanner修改了博客中的代码。请大家从git上获取最新的代码再实践本文的内容。
- 上回我们说到手写递归下降语法分析器。手写递归下降的方式是目前很多编译器采用的方式,如果你想写一个商业质量的编译器,这是首选的方法。但是,一个完善的递归下降解析器需要的代码量也不少,如果要进行错误报告、...
- using namespace std;不是一个太好的习惯,因为std命名空间里的东西非常多,全部导入会造成很多可能的命名冲突。特别是和其他库一起用的时候。
- @toEverybody
以上语言我想用哪个就可以用哪个 - @fyen
这个是获取该正则表达式可压缩字符集用的。 - @DiryBoy
Parser.Run方法并不是直接Run,而是返回可以真正运行的函数。而每个Parser实现的时候,都要在Run方法内生成一个真正运行的函数,这个运行函数必须调用Run传入的Future。所以,连接的逻辑的确是在Run里完成,Run声明的Lambda表达式,将P2作为P1的future,然后将传进来的future作为P2的future,这样就把P1和P2连接起来了。
Parser实现显然是要符合一定规范的,不能随便写。










