我有一段文本需要扫描,每行至少包含2部分信息,有时包含4部分信息。问题是每一行可能是15-20种不同操作中的一种。在ruby中,当前代码看起来像这样:text.split("\n").eachdo|line|#around20times................expressions['actions'].eachdo|pat,reg|#around20times.................这显然是“问题所在”。通过将所有正则表达式合并为一个,我确实设法使其更快(在C++中提高了50%),但这仍然不是我需要的速度——我需要快速解析数千个这些文件!现在我将它们与正则表达式
我有一个bbcode->html转换器,它响应文本区域中的更改事件。目前,这是使用一系列正则表达式来完成的,并且存在一些病态案例。我一直想在这个语法上削尖铅笔,但不想涉足剃牛毛。但是......最近我开始意识到pegjs,这似乎是PEG解析器生成的一个非常完整的实现。我已经指定了大部分语法,但现在我想知道这是否适合使用成熟的解析器。我的具体问题是:由于我的应用程序依赖于将我能翻译的内容翻译成HTML并将其余部分保留为原始文本,因此使用可能因语法错误而失败的解析器实现bbcode是否有意义?例如:[url=/foo/bar]clickme![/url]一旦输入结束标记上的结束括号,肯定会
我正在尝试为PEG.js编写一个简单的语法来匹配如下内容:sometext;arbitraryothertextthatcanalsohaveµnicode;differentexpression;let'sescapethe\;semicolon,and\notrecognizedescapesarenotaproblem;possiblylastexpressionnotendingwithsemicolon所以基本上这些是一些用分号分隔的文本。我的简化语法看起来像这样:start=flow:FlowFlow=instructions:Instruction*Instruction
我正在尝试扩展PEG.js的示例语法为我的在线BASIC解释器实验使用所有4个运算符解析数学表达式:http://www.dantonag.it/basicjs/basicjs.html但并非所有表达式都被正确解析。这是我的PEG语法:expression=additiveadditive=left:multiplicativeatag:("+"/"-")right:additive{return{tag:atag,left:left,right:right};}/multiplicativemultiplicative=left:primaryatag:("*"/"/")right:
我仍然在与Qt的qmake的模棱两可的语法作斗争。现在我找不到一种方法来描述可以包含括号的函数参数(例如正则表达式):functionName(arg1,"arg2",^(arg3)+$)我试过这样描述函数调用:FunctionCall=Identifierspace*"("space*FunctionArgumentList?space*")"space*eol*FunctionArgumentList=FunctionArgumentString((space*","space*FunctionArgumentString)*/(blank*FunctionArgumentStri
我正在尝试为C/ALprogramminglanguage创建某种lint工具.所以基本上我需要对源代码进行语法和词法分析。我计划从头开始编写解析器,但后来发现有很多工具可以帮助自动生成这些解析器。我需要性能,因为在一个片段中检查20兆字节的代码是正常情况,我需要该工具可以通过自定义规则进行扩展。所以我决定使用JavaScript。到目前为止,我已经找到了两个可以使用的生成器Jison和PEG.js.它们中的哪一个能给我更多的解析性能?也许不是比较库,而是算法?哪个更适合我的需求(解析通用编程语言)?更新:我发现了类似的问答:Packratparsingvs.LALRparsingPe
我的问题与PEGforPythonstyleindentation基本相同,但我想得到更多关于thisanswer的指导.答案成功生成了一个字符串数组,这些字符串是每行输入,行与行之间带有“INDENT”和“DEDENT”。看起来他几乎使用PEG.js来标记化,但没有真正的解析发生。那么我怎样才能扩展他的例子来做一些实际的解析呢?举个例子,我怎样才能改变这个语法:start=objobj=id:idchildren:(indentobj*outdent)?{if(children){leto={};o[id]=children[1];returno;}else{returnid;}}i
如何使用AbstractSyntaxTree为左关联运算符构建AST(PEG.js)?我试着根据网上的资料写了一些代码,但是我好像犯了一个错误。我编写的代码为大多数表达式生成了不正确的AST。表达式12-6-4-2*1-1预期的AST{"left":{"left":{"left":{"left":12,"operator":"-","right":6},"operator":"-","right":4},"operator":"-","right":{"left":2,"operator":"*","right":1}},"operator":"-","right":1}生成的AST{
问题很简单:是否可以使用PEG解析PHP?我想使用PEG解析器生成器来解析PHP。请指教。谢谢! 最佳答案 只要付出足够的努力,您就可以让大多数解析器技术解析大多数语言。PEG是否会在不费力的情况下解析PHP是另一个问题。据我所知,PHP本身使用Bison(LALR),因此我认为PEG可能会处理PHP发行版或类似内容提供的语法。如果你打算使用PHP发行版,为什么不直接使用他们提供的解析器呢?如果您不使用PHP发行版,解析PHP的问题可能会很困难,因为您必须从在线引用手册中猜测语言语法,(我去过那里,并且做到了)坦率地说,这是我见过的
您好,欢迎来到新研之家文章关键词:Biotin-PEG2-Thiol,生物素-PEG2-巯基,BiotinPEG2Thiol,生物素PEG2巯基一、基本信息【产品简介】:BiotinPEG2Thiolcanbindwithantibodiestopreparebiotinylatedantibodies,whichcanbeusedfordetectingandisolatingantigensorantibodies.ThisfeaturehasenabledtheapplicationofBiotinPEG2Thiolinthefieldofbiotechnology.Anotherimp