首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取运行时ColdFusion语法树吗?

获取运行时ColdFusion语法树吗?
EN

Stack Overflow用户
提问于 2019-09-07 00:16:53
回答 2查看 107关注 0票数 1

是否有可能在运行时访问/修改ColdFusion语法树?

我敢打赌不会,10分钟的谷歌搜索什么都找不到。在处理闭包和编写元数据转储时,我们可以看到像[runtime expression]这样的对象的字符串化版本,例如:

代码语言:javascript
复制
function x(a=b+1) {}
WriteDump(getMetaData(x).parameters[1]["default"]);

它是否允许我们走得比这更深,或者有人知道如何继续挖掘和开始行走树木?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-07 03:37:41

在函数元数据中找不到默认的UDF参数表达式。其他已实现某种形式的CFML解析器的库是

CFLint (用Java编写并使用ANTLR)

https://github.com/cflint/CFLint

CFFormat (还使用从Rust编译的二进制文件)

https://www.forgebox.io/view/commandbox-cfformat

函数LineNums (纯CFML)

https://www.forgebox.io/view/funclinenums

票数 3
EN

Stack Overflow用户

发布于 2019-09-07 13:00:56

还有一个函数callStackGet() docs:https://cfdocs.org/callstackget,它可能对您想要做的任何事情都很有用。

还有另一个CFML解析器(用CFML编写):https://github.com/foundeo/cfmlparser

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

https://stackoverflow.com/questions/57829736

复制
相关文章

相似问题

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