首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Cobol copybook转换为XSD

将Cobol copybook转换为XSD
EN

Stack Overflow用户
提问于 2009-11-05 00:04:47
回答 5查看 8.8K关注 0票数 5

有没有人知道从Cobol Copybook到XSD的转换工具?或者XML。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-05 02:41:02

为COBOL copybooks构建一个成熟的解析器有几个挑战:

在编译的文本处理阶段,Copybook被合并到COBOL程序中。copybook源代码本身可能是不完整的。获得用于解析的完整源代码的唯一方法是对其进行预处理,就好像它已被引入到COBOL源程序中一样。通常,copybooks是通过COPY指令引入COBOL程序的。提出这一点可能看起来有点无意义,但请考虑以下几点:

1) COPY指令附带一个替换选项。从表面上看,这似乎足够简单,但一旦你深入到细节中,它就变得非常“有趣”。请参阅:COPY DIRECTIVE

2)替换指令。此指令还可以在COPY指令完成其职责后操作源文本。请参阅:REPLACE DIRECTIVE

3)嵌套的副本。这一个可能不像前两个那么糟糕,但也要记住嵌套。

4) COBOL图片字符串的语法也没有可笑之处。看看:Picture String Symbols

5)解析器还需要处理COBOL延续规则。请参阅:Continuation Lines,特别是伪文本的延续。

我不想让您泄气,但是解析COBOL不是一件微不足道的事情。

从好的方面来说,如果你的复制本有一个非常简单的结构,就像许多人一样,可以使用级联正则表达式来完成这一点。这种方法在那些需要在软件更新项目中解析COBOL程序(和复制本)的人中相当常见。也许你可以看看:RegReg

干杯..。

票数 8
EN

Stack Overflow用户

发布于 2009-11-05 00:13:09

很久以前,我构建了一些代码来解析COBOL copybook并生成XSD文件。

由于COBOL语言结构非常规则,所以我精心设计了一个正则表达式来获取变量名和标识字段长度。有了这个经过解析的结构,我还可以创建XML测试数据、操作该结构的MSXML DOM代码和测试这些IMS事务的HTML表单。

底线:正则表达式可以很好地做到这一点。

票数 2
EN

Stack Overflow用户

发布于 2011-09-21 02:58:28

你可以试试我的Koopa Cobol parser项目。虽然它不做预处理,但我发现对于大多数抄写本来说,这并不是真正必要的。它应该涵盖您期望从标准副本中获得的大部分内容,如果没有,您可以随时扩展解析器。它可以将解析树导出为XML,然后您可以以任何您想要的方式进行处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1674808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档