【发布时间】:2020-10-25 22:35:21
【问题描述】:
背景
我正在进行的部分项目要求我分析 Q# 源代码并在遇到某些语法元素时执行特定操作。例如,假设我想计算整个程序中使用了多少种不同的门类型。现在,这可以通过遍历程序的抽象语法树并根据当前语法节点执行操作来实现。
我的尝试
我从分析 qsharp-compiler 存储库开始,但是,编译器的内部工作缺乏在线文档,浏览所有 C# 和 F# 源代码确实很乏味。
当然,我可以为该语言编写自己的解析器,但这对于手头的任务来说可能有点过头了。 必须有一种方法可以从编译器内部提取 AST。
问题
有没有办法使用 Q# 编译器以编程方式(从 C# 或 F#)编译 Q# 源代码,并提取内部 AST?
【问题讨论】:
标签: c# abstract-syntax-tree quantum-computing q#