如何在类似于AST树的方式下转换js字符串?

问题描述 投票:0回答:1

我需要打开看起来像这样的字符串表达式:

"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个回答
0
投票

mmoo.js可以完成这项工作。我所需要做的只是为令牌化设置规则

© www.soinside.com 2019 - 2024. All rights reserved.