【问题标题】:How to turn js string in something similiar to AST tree?如何将 js 字符串转换为类似于 AST 树的东西?
【发布时间】:2020-04-25 20:08:20
【问题描述】:

我需要将字符串表达式变成如下所示:

"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']} 
]

我需要一些关于图书馆的建议,能够:

  1. 根据我的自定义规则执行一些标记化
  2. 根据我的规则为每个实体提供自定义回调函数

类似:

tokenizer.register(someValiedRegexp, async callback(name, param) => ...)

提前致谢

【问题讨论】:

标签: javascript tokenize abstract-syntax-tree


【解决方案1】:

mmoo.js 可以完成这项工作。我只需要设置标记化规则

【讨论】:

    猜你喜欢
    • 2017-10-16
    • 2015-10-03
    • 2013-06-02
    • 2021-06-06
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 2021-09-16
    相关资源
    最近更新 更多