当前位置:  开发笔记 > 编程语言 > 正文

从BNF语法中导出状态机

如何解决《从BNF语法中导出状态机》经验,为你挑选了1个好方法。

我试图将XSS安全字符串插值方案的概念证明放在一起.

给定一个替换字符串,

"Hello $planetoid!"

我希望将其分解为字面部分和替换("Hello" planetoid "!"),然后在字面部分上从左到右运行状态机.当我达到内插值(planetoid在上面)时,我需要能够从状态到达适当的转义函数.

有没有人知道如何使用lex/yacc/bison来派生状态机并能够将语法中的标签与输出状态相关联?我想派生一个状态机,我可以在javascript中使用它们,并尝试替换PHP的底层字符串实现.

我这样做的原因是描述在这里.

欢呼,迈克



1> PeterAllenWe..:

通常,不可能为可以用BNF表示的语法创建状态机.状态机只能识别常规语言,BNF可以指定无上下文的语言.Yacc可以创建解析器.那就够了吗?

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有