I**********s 发帖数: 441 | 1 有人写过或者用过LR(1)paser generator吗? 用KNUTH的算法或者用优化算法的都可以.
有没有 time/memory performance estimation? 有没有这方面的benchmark grammar
set? 谢谢. |
|
t**r 发帖数: 3428 | 2 作paser,lexer就用antlr把,别折腾yacc,bison了 累 |
|
发帖数: 1 | 3 印度尼西亚公布新首都选址地,为加里曼丹岛东部一森林公园。
继8月16日正式提议迁都之后,印度尼西亚总统佐科在8月26日公布了尚未命名的新首都
的选址地:位于加里曼丹岛(婆罗洲)东部的一片森林公园。
据印尼媒体《雅加达邮报》当天报道,最早公布迁都计划的印尼经济与发展计划部在加
里曼丹岛的南部、中部和东部找了三个备选地点,而佐科访问了其中两个,其中就有最
终被选为新首都地点的武吉苏哈托(Bukit Soeharto)地区。
武吉苏哈托位于东加里曼丹省首府三马林达以南约63.4公里处,库台卡塔内加拉县(
Kutai Kartanegara)和北佩纳扬巴塞尔县(North Penajam Paser)交界附近,是一个
占地61850公顷(618.5平方千米)的森林公园。该森林公园内有多种热带动植物,并设
立有一家婆罗洲猩猩的保育中心。
值得注意的是,新首都的名称尚未确定,“武吉苏哈托”只是该地区当前的名字。 |
|
H**r 发帖数: 10015 | 4 单纯parser这部分来说,编程语言的parser确实容易,nlp的parser非常难做。
但是compiler除了paser还有很多东西。
mitbbs的人平均年龄也快50了吧,天天比谁学的东西难谁牛逼,幼稚不幼稚,傻逼不傻
逼。 |
|
g****f 发帖数: 481 | 5 中文名是对氨基水杨酸钠
昨天去药店,药剂师找了半天说这要应该叫Paser,sodium aminosalicylate 是
generic name
这药是治结核的 小孩身体免疫系统有问题 在国内打卡介苗的时候感染 现在是肺结核
骨结核 经常高烧 只有sodium aminosalicylate 好用 孩子太小 已经没地方扎针了
所以我们才要帮忙买胶囊
昨天的药剂师说这边是胶囊的 但是得要处方 国内发过来的处方也不能用 要有美国
license的医生开的才好
想问问有人能给建议么? 或者其他哪个国家能买啊
夫妇俩挺可怜 只有微薄的工资已经为了给孩子治病欠下10几万外债 |
|
B********d 发帖数: 1776 | 6 我还是觉得问号大师的表达方式很好, 看着挺舒服的。 不过看久了我对问号都不太敏
感了。 脑子里的paser都自动略掉了 |
|
|
c****r 发帖数: 185 | 8 The performance of a parser generator is far less important than that of the
parser it generates. Most parser generators take just a few seconds to
generate a parser. In practice, LL parsers like antlr javacc seem more
popular than LR parsers. If you are doing research, I doubt if you can
motivate your problem. |
|
I**********s 发帖数: 441 | 9 javaCC用在java平台上是不错. 说到LR parser, 并没有流行的版本. 常用的yacc,
bison, byacc等都是LALR(1). LR(1)的优点在于可以分析所有context free的语法, 这
一点LALR(1)做不到. 而LL的语法也可以转换成LR(1). Knuth的原LR(1)算法长期一直被
认为速度太慢, 产生的parsing table太大. 即便现在, 用Knuth原算法实现的LR(1)
parser generator也常常需要很长时间才能完成运算. 比如我听说一个C++
implementation对于一个about 120 tokens, 350 production的语法, 要20分钟才能得
到结果. 另外一个implementation(in Python?), 作者称对大约100 tokens, 500
productions的语法, "I let it run for nearly three days, and it was far from
finishing, but using nearly 16GB of memory" |
|
c****r 发帖数: 185 | 10 Most part of a grammar can be recognized by LL(1) or LALR(1).
The rest can be specially taken care of, like lookahead in javacc.
Theoretically it is LL(k) and the complexity is exponential in k.
But practically it is not a problem. |
|
I**********s 发帖数: 441 | 11 "Specially take care of" can be a pain sometimes when you need to modify the
grammar, and you may not be sure the modified grammar is the same one as
before. Indeed a lot of things can be solved by precedence and other
conflict resolving methods. yacc/bison and now javacc can be used for most
compiler development tasks. But still there are people puzzled by the "
mysterious reduce/reduce conflict" and hope to find a LR(1) solution. Anyway
, I hope what I did can be an answer to this. |
|
r***u 发帖数: 241 | 12 what's your opinion on GLR?
the
Anyway |
|
I**********s 发帖数: 441 | 13 GLR is an extension of LR by forking to handle nondeterministic and
ambiguous grammars. But here in the case of deterministic and unambiguous
grammars, LALR(1) parser still may have "mysterious reduce/reduce conflict".
LR(1) parser can handle this. |
|
S*****0 发帖数: 538 | 14 这个没问题,刚试过。 估计,是#test table 需要先定义,不然,SQL Server
paser 会遇到SELECT ...INTO #test 就定义一次#test, 导致错误 。
IF OBJECT_ID(N'tempdb.dbo.#test') IS NOT NULL DROP TABLE #test
CREATE TABLE #test(col1 int)
IF (2>1)
INSERT INTO #test(col1)
SELECT 1 as col1
ELSE
BEGIN
INSERT INTO #test(col1)
SELECT 2 as col1
END |
|
|
|
|
d*******r 发帖数: 3299 | 18 python paser是他去google实习时候顺便搞的. 不是他Phd研究.
你们星宿派wdong就说的很清楚, 搞好技术是一回事, 挣到钱是另外一回事,
同理, 工程搞好是一回事, 升职加薪是另外一回事.
这两类事情有时正相关,有时是反相关的. |
|