run_xiao2000 发表于 2008-05-17 10:38

词法分析和语法分析并发的想法

现在看了几个简单的Compiler的源码,发现语法分析的Function都是调用词法分析的过程,一个一个的获得Token,然后构建语法树。

今天早上起来上WC,突然脑子里面冒出来一个想法:这不是个典型的生产者-消费者问题么?若是在多线程环境下,起两个线程分别跑词法分析和语法分析的Function,再建个缓冲的Buffer,这样前端分析的效率会不会有所提升呢?

欢迎各位拍砖:lol: :lol: :lol: :lol:

prolj 发表于 2008-05-17 11:25

不懂前端的飘过,不拍你:mrgreen:
你做什么我都支持你:mrgreen: 跟你学习前端技术:mrgreen:

[ 本帖最后由 prolj 于 2008-5-17 12:29 编辑 ]

run_xiao2000 发表于 2008-05-17 12:17

没人理我?是不是我的想法太幼稚了:oops: :oops: :oops: :oops:

system888net 发表于 2008-05-17 12:22

原帖由 run_xiao2000 于 2008-5-17 12:17 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
没人理我?是不是我的想法太幼稚了:oops: :oops: :oops: :oops:

一点也不幼稚,有一定道理. 当然实际情况会负杂一些!

cjaizss 发表于 2008-05-17 12:25

不错的想法

run_xiao2000 发表于 2008-05-17 12:31

实现起来的应该不会很复杂,尤其要是用Java实现就更Easy了,用C处理互斥和同步没做过。现在工作太忙了,等闲下来准备写个Java的。

刚才又突然想到,再把Buffer中存的Token分组,比如两个Token一组,这样语法分析一次消耗两个Token,是不是可以支持LL(2)或者LR(2),甚至LL(X)和LR(X)算法?呵呵

system888net 发表于 2008-05-17 12:33

原帖由 cjaizss 于 2008-5-17 12:25 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
不错的想法

nod,实际上一些基于网格的编译器已经是这么做了,当然还在实验室里.
如果LZ可以再深入一下,继续坚持,这样思想火花就更有价值了.
顶一下

system888net 发表于 2008-05-17 12:34

原帖由 run_xiao2000 于 2008-5-17 12:31 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
实现起来的应该不会很复杂,尤其要是用Java实现就更Easy了,用C处理互斥和同步没做过。现在工作太忙了,等闲下来准备写个Java的。

刚才又突然想到,再把Buffer中存的Token分组,比如两个Token一组,这样语法 ...

OK! continue

run_xiao2000 发表于 2008-05-17 12:38

原帖由 system888net 于 2008-5-17 12:33 发表 http://linux.chinaunix.net/bbs/images/common/back.gif


nod,实际上一些基于网格的编译器已经是这么做了,当然还在实验室里.
如果LZ可以再深入一下,继续坚持,这样思想火花就更有价值了.
顶一下

基于网格的编译器???

这位兄弟能否介绍一下这方面的资料?

Thx!

system888net 发表于 2008-05-17 12:52

原帖由 run_xiao2000 于 2008-5-17 12:38 发表 http://linux.chinaunix.net/bbs/images/common/back.gif


基于网格的编译器???

这位兄弟能否介绍一下这方面的资料?

Thx!

基于网格的编译器,就是指多CPU或多机环境下,利用多节点(CPU或HOST)并行的处理能力(网格化)来使大型编译能力显著提升.
跟你的思想火花的目的是相似的.

可参考一下grid编程资料和grid 算法的相关资料.
参考归参考,要保持你的思路,否则迷失了自己的思路就得不偿失了:)

把火花继续下去...

[ 本帖最后由 system888net 于 2008-5-17 12:53 编辑 ]
页: [1] 2 3 4
查看完整版本: 词法分析和语法分析并发的想法