首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能把字符串匹配到AST的某个子树吗?

我能把字符串匹配到AST的某个子树吗?
EN

Stack Overflow用户
提问于 2020-11-13 09:06:32
回答 1查看 135关注 0票数 0

我正在尝试使用antlr4(+python3 3)来检测sql注入,现在我已经得到后端SQL命令"SELECT * FROM WHERE BBB = ''",以及用户的输入"CCC“。

现在,解析树看起来如下所示:

我的问题是,我能否将"CCC“(用户的输入)直接匹配到子树”谓词“(见上图),即在”谓词“处输入解析树?

我有几个想法:

  1. 重写语法文件
  2. ,使用访问者,跳过肯定会出现在“谓词”

之前的节点。

这些思想是复杂的,那么我应该在现有的文献中寻找什么呢?或者其他建议?

EN

回答 1

Stack Overflow用户

发布于 2020-11-13 12:54:07

  1. 使用访问者并跳过肯定出现在“谓词”

之前的节点。

当然可以:当遍历解析树并遇到用户输入时,只需“遍历”节点,直到遇到感兴趣的节点。在遍历解析树时,ANTLR将为您提供当前的解析上下文。这个上下文有一个parent上下文,您可以使用它“遍历”到树上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64818108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档