gpt4 book ai didi

antlr4 - Cobol - 解析 cobol 程序中的组项

转载 作者:行者123 更新时间:2023-12-02 08:53:44 27 4
gpt4 key购买 nike

我需要从 COBOL 程序中提取信息。我正在使用 COBOL 的 ANTLR 语法。我需要提取整个组变量。我无法使用 ANTLR 提取此内容,因为解析器将每个变量分割/组项提取为单个元素。我需要以某种方式将组项目作为一堆来获取。我是 COBOL 新手,所以我想了解编译器如何理解要在组中包含哪些元素以及在哪里停止。

例如:

  01 EMPREC.
02 EEMPNAME.
10 FIRSTNAME PIC X(10)
10 LASTNAM PIC X(15)

07 SNO PIC X(15)

以上定义有效吗?编译器是否会将第一项 (01 EMPREC) 之后的所有元素(=>2 和 <=49)包含在 EMPREC 组中,直到遇到另一个 01 或 77 为止?这样假设是否安全?级别信息是否足以得出哪些元素属于某个组?任何指示表示赞赏。

最佳答案

我是您在 ANTLR4 语法项目中找到的 COBOL ANTLR4 语法的作者。 COBOL 语法仅生成抽象语法树 (AST)。

相比之下,您需要的是抽象语义图 (ASG),它表示变量分组以及 AST 元素之间的一般关系。

这样的 ASG 是由我的 proleap-cobol-parser 处的 COBOL 解析器生成的。项目。该项目使用上述 COBOL 语法并解析 AST 元素之间的关系。

解析数据描述条目的示例可以在 unit test 中找到。 .

关于antlr4 - Cobol - 解析 cobol 程序中的组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40803898/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com