Mik*_*uel 1 yacc bnf bison pushdown-automaton
我试图将XSS安全字符串插值方案的概念证明放在一起.
给定一个替换字符串,
"Hello <b>$planetoid</b>!"
Run Code Online (Sandbox Code Playgroud)
我希望将其分解为字面部分和替换("Hello<b>" planetoid "</b>!"),然后在字面部分上从左到右运行状态机.当我达到内插值(planetoid在上面)时,我需要能够从状态到达适当的转义函数.
有没有人知道如何使用lex/yacc/bison来派生状态机并能够将语法中的标签与输出状态相关联?我想派生一个状态机,我可以在javascript中使用它们,并尝试替换PHP的底层字符串实现.
我这样做的原因是描述在这里.
欢呼,迈克