使用 ANTLR 实现公式解析

前言 做类似 BI 的产品时,会遇到公式解析场景。用户(前端)输入一个公式字符串,后端要解析为一个具体的函数对象。 我们使用 ANTLR 来做公式解析。 关于 ANTLR 的基本用法,及它在项目中的基本配置,参见:ANTLR4入门 本文并不是手把手教程,只讲核心点,其他不赘述。 定义函数类 我们会有一个 Function 的抽象类/接口,其他所有函数都继承 Function。函数可以套函数。 根据

ANTLR4 入门

简介 ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成器,它根据语法定义生成解析器,解析器可以构建和遍历解析树。 所有编程语言的语法,都可以用ANTLR来定义。ANTLR提供了大量的官方 grammar 示例。 核心概念 理解三个核心概念:Lexer、Parser、AST。 词法分析器(Lexer):将字符序列转换为单词(Token)