词法分析和语法分析并发的想法
现在看了几个简单的Compiler的源码,发现语法分析的Function都是调用词法分析的过程,一个一个的获得Token,然后构建语法树。
今天早上起来上WC,突然脑子里面冒出来一个想法:这不是个典型的生产者-消费者问题么?若是在多线程环境下,起两个线程分别跑词法分析和语法分析的Function,再建个缓冲的Buffer,这样前端分析的效率会不会有所提升呢?
欢迎各位拍砖
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
不懂前端的飘过,不拍你
你做什么我都支持你 跟你学习前端技术
[ 本帖最后由 prolj 于 2008-5-17 12:29 编辑 ]
没人理我?是不是我的想法太幼稚了
一点也不幼稚,有一定道理. 当然实际情况会负杂一些!
不错的想法
实现起来的应该不会很复杂,尤其要是用Java实现就更Easy了,用C处理互斥和同步没做过。现在工作太忙了,等闲下来准备写个Java的。
刚才又突然想到,再把Buffer中存的Token分组,比如两个Token一组,这样语法分析一次消耗两个Token,是不是可以支持LL(2)或者LR(2),甚至LL(X)和LR(X)算法?呵呵
nod,实际上一些基于网格的编译器已经是这么做了,当然还在实验室里.
如果LZ可以再深入一下,继续坚持,这样思想火花就更有价值了.
顶一下
OK! continue
基于网格的编译器???
这位兄弟能否介绍一下这方面的资料?
Thx!
基于网格的编译器,就是指多CPU或多机环境下,利用多节点(CPU或HOST)并行的处理能力(网格化)来使大型编译能力显著提升.
跟你的思想火花的目的是相似的.
可参考一下grid编程资料和grid 算法的相关资料.
参考归参考,要保持你的思路,否则迷失了自己的思路就得不偿失了
把火花继续下去...
[ 本帖最后由 system888net 于 2008-5-17 12:53 编辑 ]