Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
将 Antlr 语法树转换为有用的对象
我目前正在考虑如何最好地获取使用 Antlr 生成的 AST 并将其转换为可以在我的程序中使用的有用对象 我语法的目的 除了学习之外 是创建一种可执行 运行时解释 语言 例如 我将如何获取属性子树并实例化特定的属性类 例如 以下代码用我的语
Java
ANTLR
Execution
abstractsyntaxtree
LL 自顶向下解析器,从 CST 到 AST
我目前正在学习语法分析 尤其是自上而下的解析 我知道术语以及与自下而上的 LR 解析器的区别 并且由于自上而下的 LL 解析器更容易手动实现 所以我期待着制作自己的解析器 我见过两种方法 递归下降使用一组递归函数 基于堆栈和表驱动的自动机为
Parsing
abstractsyntaxtree
statemachine
如何编译 ast.Expr?
import ast code 1 1 expr ast parse code body 0 print type expr compile ast Expression expr string eval gets me class ast
python
abstractsyntaxtree
eclipse ASTNode 到源代码行号
给定eclipse中的ASTNode 有没有办法获取对应的源代码行号 您可以获取某个行的行号ASTNode使用下面的代码 int lineNumber compilationUnit getLineNumber node getStartP
eclipse
abstractsyntaxtree
eclipsejdt
如何使用Antlr实现函数调用,以便在定义之前就可以调用它?
一旦构建了 AST 实现树遍历器以便可以按任意顺序定义和调用函数的最佳方法是什么 例如 这在 PHP 中是有效的 我猜想一定有第二遍 或者树转换 但我在这个主题上找不到任何有趣的东西 这个问题可能不是 Antlr 特有的问题 但如果你能给我
ANTLR
abstractsyntaxtree
functioncall
使用 python 的 eval() 与 ast.literal_eval()
我遇到一些代码的情况eval 提出了一个可能的解决方案 现在我从来没有使用过eval 但在此之前 我已经了解到很多有关它可能造成的潜在危险的信息 也就是说 我对使用它非常谨慎 我的情况是我有用户提供的输入 datamap input Pro
python
eval
abstractsyntaxtree
通过 walrus := 运算符进行多次赋值?
我尝试使用 walrus 运算符进行多次分配 并在 StackOverflow 上看到了一些问题 例如this https stackoverflow com questions 59226071 how to perform assign
python
abstractsyntaxtree
python38
当你调用一个包含yield的函数时会发生什么?
I read here https stackoverflow com questions 19302530 python generator send function purpose 60042174 noredirect 1 comm
python
python3x
Generator
abstractsyntaxtree
yield
clang-query:检查函数参数类型的模板参数名称
我有一个大项目 以及大量以下形式的 C 类成员函数 Return CClass MemberFunction Arg1 arg1 std weak ptr
c
Clang
abstractsyntaxtree
clangastmatchers
如何创建允许语法错误的 AST 解析器?
首先 关于解析和构建 AST 需要阅读哪些内容 如何为将构建 AST 并允许语法错误的语言 如 SQL 创建解析器 例如 对于 3 4 5 3 4 5 对于有语法错误的 3 4 解析器会猜测用户的意思是 3 4 从哪儿开始 SQL SELE
Algorithm
compilerconstruction
languageagnostic
abstractsyntaxtree
TypeScript -> AST -> TypeScript
有没有办法将 TypeScript 文件解析为 AST 修改 AST 然后将其解析回 TypeScript 作为工具Esprima http esprima org 埃斯科德根 https github com estools escode
typescript
abstractsyntaxtree
esprima
预处理器之后的 CDT IASTNode getRawSignature
在CDT核心插件中 有一个方法getRawSignature接口的IASTNode被描述为 Returns the raw signature of the IASTNode before it is processed by the pr
Java
abstractsyntaxtree
eclipsecdt
Clang AST 解释
我正在尝试解释 Clang AST 的部分内容 如下图所示 简而言之 我想做的是检查两个变量在不同的程序点是否相同 检查 AST 后 我注意到 AST 部分之间唯一的共同点是蓝色圆圈部分 谁能帮我看看这些十六进制数字在 AST 中对应什么
Clang
abstractsyntaxtree
LLVMClang
使用 Eclipse AST
我最近需要修改一些Java代码 添加方法 更改某些字段的签名和删除方法 我认为所有这些都可以通过使用Eclipse SDK的AST来完成 我从一些研究中知道如何解析源文件 但我不知道如何执行上述操作 有谁知道一个好的教程或者有人可以给我一个
Java
eclipse
abstractsyntaxtree
Typescript:如何基于数据结构生成和打印 AST
我正在开始一个新项目 作为其界面的一部分 我们有一大堆 令牌 一个带有字符串值的递归对象 如下所示 const colors accent f90 primary active fff inactive silver 我们提供了一个实用程序
typescript
abstractsyntaxtree
Haskell 中具有运算符优先级和关联性的漂亮打印语法树
是否有任何常用的方法 甚至是一个库 可以用 二元 运算符漂亮地打印 和解析 语法树 这些运算符具有关联性和优先级 以便结果使用尽可能少的括号 以命题演算的公式为例 data Formula Atom String Not Formula A
Haskell
abstractsyntaxtree
prettyprint
Boost Spirit 和抽象语法树设计
我使用 Boost Spirit 的 Qi 来解析 VRML 1 0 有一个名为 Separator 的组节点 在 Separator 的正下方 可以容纳许多不同类型的节点 AST 基于 Boost Variant 到目前为止看起来很长 我
c
boost
boostspirit
abstractsyntaxtree
boostvariant
Scala 宏检查树的匿名函数
我刚刚开始使用宏 感觉我错过了一些非常明显的痛苦 我想检查 AST 中是否有传递给我的宏的匿名 lambda 函数 最终我想对它做一些事情 但我在第一个障碍上就失败了 我的代码如下所示 object Test extends App doI
scala
abstractsyntaxtree
anonymousfunction
scalamacros
inspection
为什么我不能在 Groovy 脚本中的 @Grab 声明之后执行方法调用?
我正在尝试构建一个 DSL 并使用 Global AST Transform 来完成它 该脚本正在编译groovyc很好 但我希望能够让用户使用 Grab Grape 来提取 JAR 并让它作为常规脚本立即执行 然后我发现我无法正确执行此操
syntax
Groovy
abstractsyntaxtree
在侦听器中使用 ParserRuleContext 遍历令牌 - ANTLR4
在使用侦听器迭代令牌时 我想知道如何使用 ParserRuleContext 来查看令牌流中的下一个令牌或接下来的几个令牌 在下面的代码中 我试图查看当前标记之后直到 EOF 的所有标记 Override public void enter
Java
ANTLR
abstractsyntaxtree
antlr4
staticanalysis
«
1
2
3
4
5
6
»