javascript - 如何将 js 字符串转换为类似于 AST 树的东西?
问题描述
我需要转换看起来像这样的字符串表达式:
"SALARY('@JohnSmith') = {USER.workingHours} * {USER.hourlyRate}"
类似于 AST 的东西。例如:
const result = [
{type: 'function', name: 'SALARY', params: ['@JohnSmith']},
{type: 'entity', name: 'USER', fields: ['workingHours']},
{type: 'mathOperation', operator: 'mutliply'},
{type: 'entity', name: 'USER', fields: ['hourlyRate']}
]
我需要一些关于图书馆的建议,它能够:
- 根据我的自定义规则执行一些标记化
- 根据我的规则为每个实体提供自定义回调函数
就像是:
tokenizer.register(someValiedRegexp, async callback(name, param) => ...)
提前致谢
解决方案
mmoo.js 可以完成这项工作。我只需要为标记化设置规则
推荐阅读
- r - 根据条件变异?
- palantir-foundry - Palantir Foundry Hubble:Hubble Object 中的布尔列显示为 yes/no 而不是 true/false
- python - 尝试导入 python 模块“yt”时出现错误“尝试重新注册内置 cmap 'cubehelix'
- django - 如何使用信号更新我的 Django 模型?
- typescript - 访问 cypress 中的 Url
- r - 在二维表中排列数据
- c# - 在 PHP 中解码 curl 响应 gzip 多部分附件
- android - 当我在最新的 android 11 上从文件选择器中选择文档时无法拍摄文档
- javascript - 自动聚焦输入字段时弹出框(设置为单击外部关闭)立即关闭
- sas - Proc 表示输出语句