文件转换装置、文件转换方法以及文件转换程序的制作方法

文档序号:6602368阅读:173来源:国知局
专利名称:文件转换装置、文件转换方法以及文件转换程序的制作方法
技术领域
本发明涉及计算机的主机到开放系统的转变。更具体地,本发明涉及一种用于将 主机所用的以JCL编写的作业转换为开放系统所用的作业网络的技术。
背景技术
近年来,许多商业公司正积极的进行从已经使用的主机向使用例如UNIX(注册商 标)和Windows (注册商标)的通用OS的开放系统的转变,以便削减为维护和操作商业交 易所用的计算机系统所需的成本的TCO (总体运营成本)。为此,需要将用于在主机上操作 的以“作业控制语言”(此后称作JCL)编写的作业转换成用于开放系统的作业网络(流程 图和分割的JCL文件),并然后将它们转换为脚本文件。图22是示出了作业网络的实例的说明图。图22A至图22D是图示出相同顺序关 系的所有流程图。在大部分典型作业管理工具中,在关于描述方面都不设定任何限制,以便 允许用户以任何书写格式来编写作业。然而,利用这种系统,即使对于表达相同顺序关系的 流程图,流程图通常也可以根据用户的个人习惯而像图22A至图22D那样变得不同。当在 作业的转换时进行测试、在转换后进行维护等的时候,具有以不同形式而又显示出相同的 顺序关系的各种流程图的混合可能导致低效率。在图22A所示的流程图中,为了克服这样的问题,预先固定起点和终点,而绘制流 程图的线条的方式限制于多用途作业管理软件方面。利用此,无论谁绘制该流程图,流程图 都成为一样的形式。从而,可以创建具有高维护性的简单作业网络流程。当将商业系统从主 机转变到开放系统的时候,通过利用这样的作业管理软件,将JCL文件转换成作业网络(流 程图和分割的JCL文件),并且然后将其转换成脚本文件。作为关于此的技术,存在如下的专利文献。日本未审查专利公开平成 07-2248915 (专利文献1)公开了一种通过解析程序来生成语法树,并且涉及对于命名数据 使用状态的每个数据的声明、指派等的技术。日本未审查专利公开平成08-016378 (专利文 献2)公开了一种解析程序、提取构造有一系列不含分歧的语句的数据块,以及与分歧和合 并部分一起分层次地表达这些语句的技术。日本未审查专利公开平成11_024913(专利文 献3)公开了一种挑选出用行单元以JCL编写的程序,并然后将其转换成另一形式的程序的 技术。然而,在JCL中存在例如语句“ YSUBJ0B-— YENDSUBJ0B"的并行执行指令以及 例如语句“ YWHEN--JUMP”语句(if—goto)的顺序控制指令。根据创建者的意图,那些 指令可以频繁使用。图23是示出了其中频繁使用这样的并行执行指令和顺序控制指令的JCL文件的实例的说明图。当如图23所示在JCL文件中频繁使用这样的并行执行指令和顺序控制指令的时 候,难以从行号获取准确的顺序关系。从而,变得难以利用自动转换工具等将文件机械地转 换成流程图。即使可以做到,也会产生低维护性的复杂作业网络。因此,这种JCL文件到作业网络的转换主要由手动来进行。这需要很大的工作量, 并且所创建的作业网络的质量取决于工人的技能。此外,这可能导致由于人为错误而产生 的质量降低及其恢复操作而引起的成本增加。如果JCL不包含并行执行指令或者顺序控制指令,那么可以容易地进行从JCL文 件到作业网络的转换。因此,如果可以从JCL文件检测并行执行指令和顺序控制指令并创 建流程图,并且可以通过排除并行执行指令或者顺序控制指令来分割JCL文件,那么可以 克服上述问题。然而,上面提到的专利文献1至3没有公开这种用于分割JCL文件的技术, 使得不能利用该专利文献1至3来克服该问题。

发明内容
本发明的示例性目的是提供一种文件转换装置、文件转换方法和文件转换程序, 其能够通过高效地执行将JCL文件转换成作业网络来创建高维护性的简单作业网络。为了实现上述示例性目的,根据本发明的示例性方面的文件转换装置是这样一种 文件转换装置,其将以给定的语言编写的文件格式转换成能够被另一种语言解释的文件格 式,并且该装置包括文件读出装置,其逐行读取输入的文件的描述内容,并且通过对读取 的描述内容的每一行添加索引来管理该描述内容;语法树创建装置,其通过线性扫描由文 件读出装置所管理的文件的索引,基于该索引来将该描述内容转换成树结构的语法树;语 法树优化装置,其根据优化规则来将语法树的树结构优化成流程图;以及文件分割装置,其 通过使由语法树优化装置所优化的流程图中的控制符作为标识符来分割所述输入的文件。为了实现上述示例性目的,根据本发明的另一个示例性方面的文件转换方法是这 样一种文件转换方法,其用于将以给定的语言编写的文件格式转换成能够被另一种语言解 释的文件格式,并且该方法包括逐行读取输入的文件的描述内容,并且通过对该读取的描 述内容的每一行添加索引来管理该描述内容;通过线性扫描所管理的文件的索引,基于该 索引来将所述描述内容转换成树结构的语法树;根据优化规则将语法树的树结构优化成流 程图;以及通过将流程图中的控制符作为标识符来分割所述输入的文件。为了实现上述示例性目的,根据本发明的再一个示例性方面的文件转换程序是这 样一种文件转换程序,其用于使得配置了将以给定的语言编写的文件格式转换成能够被另 一种语言解释的文件格式的文件转换装置的计算机执行逐行读取输入的文件的描述内 容,并且通过对该读取的描述内容的每一行添加索引来管理该描述内容的功能;通过线性 扫描所管理的文件的索引,基于该索引来将所述描述内容转换成树结构的语法树的功能; 根据优化规则来将语法树的树结构优化成流程图的功能;以及通过将流程图中的控制符作 为标识符来分割所述输入的文件的功能。


图1是示出了根据示例性实施例的作业网络到流程(jobnetwork-to-flow)转换
5装置的结构的说明图;图2A和2B示出了由图1所示的作业网络到流程转化程序所执行的处理的说明图 图示流程,其中图2A示出了关于图1所示的计算机资源的对应关系,而图2B以更加概念化 的方式示出了在工作期间由每个部分和每个文件的流程所完成的工作;图3是更详细地示出了图2所示的实际处理行转换部分的处理内容的说明图;图4是更详细地示出了图2所示该实际处理行转换部分的处理内容的说明图;图5是用于描述JCL文件读出装置的结构和作用的图示;图6是示出了语法树属于树形的数据结构的图示;图7是示出了具有将被记录到RAM的索引的JCL文件的数据结构的图示;图8是示出了语法树是树形的数据结构的图示;图9是示出了由图3所示的语法树创建装置所执行的用于将图5所示的具有索引 的JCL转换成语法树的处理的说明图;图10是示出了通过由图9所示的语法树创建装置执行的处理所创建的语法树的 说明图;图11是示出了图3所示的语法树创建装置的处理内容的流程图;图12是示出了图3所示的语法树优化装置的处理内容的流程图;图13是示出了通过图3所示的语法树优化装置在图9所示的语法树上执行的处 理的实例的说明图,其示出了语法树优化装置将指针移动到“if”节点的状态;图14是示出了通过图3所示的语法树优化装置在图9所示的语法树上执行的处 理的实例的说明图,其示出了语法树优化装置将“goto(016)”与节点“016”连接并且将 “if”节点和节点“016”之间的所有节点锁定的状态;图15是示出了通过图3所示的语法树优化装置在图9所示的语法树上执行的处 理的实例的说明图,其示出了语法树优化装置将指针移动到“parallel”节点的状态;图16是示出了通过图3所示的语法树优化装置在图9所示的语法树上执行的处 理的实例的说明图,其示出了语法树优化装置将指针移动到“if”节点的状态;图17是示出了通过图3所示的语法树优化装置在图9所示的语法树上执行的处 理的实例的说明图,其示出了语法树优化装置将“goto(014)”转换到执行节点“014” “END”的处理的形式的状态;图18是示出了通过图3所示的语法树优化装置在图9所示的语法树上执行的处 理的实例的说明图,其示出了语法树优化装置43连接所有叶节点“END”的状态;图19是示出了通过语法树优化装置从优化的语法树输出的流程图的说明图;图20是示出了图19所示的流程图利用控制符来分割的状态的说明图;图21是示出了以分割的JCL文件为单位的作业的优化流程图的说明图,该优化的 流程图通过由JCL文件分割设备转换流程图来创建;图22是示出了作业网络的实例的说明图;以及图23是示出了其中频繁使用并行执行指令和顺序控制指令的JCL文件的实例的 说明图。
具体实施例方式在下文中,将通过参考附图来描述本发明的示例性实施例。首先,将描述示例性实施例的基本内容,而更具体的内容将在之后描述。作为根据本示例性实施例的文件转换装置的作业网络到流程转换装置,是将输入 的第一文件(JCL文件21)转换成第二文件(脚本文件24)的文件转换装置。如图1所示, 该装置包括文件输入部分,其输入第一文件(JCL文件输入部分31);作业网络创建部分 32,其从输入的第一文件创建流程图,并且以对应于该流程图的单位,分割第一文件以创建 分割文件;以及实际处理行转换部分33,其从所述流程图和分割文件来创建第二文件。如图3所示,作业网络创建部分32包括语法树创建装置42,其从第一文件创建 语法树102 ;语法树优化装置43,其优化所创建的语法树102 ;以及文件分割装置(JCL文件 分割装置44),其从优化的语法树创建流程图22,并基于该流程图来创建分割文件(分割的 JCL文件23)。语法树优化装置43通过根据语法树的并行执行指令或者顺序控制指令从 语法树的末端搜索分叉点(divergence point)、判断在分支点处分叉的节点是否是可连接 的、并且当节点是可连接时连接该节点,来优化语法树。通过使得CPU 11执行作业网络到流程转换程序30而在软件上建立文件输入部分 (JCL文件输入部分31)、作业网络创建部分32以及实际处理行转换部分33。类似地,通过 使得CPU 11执行作业网络到流程转换程序30而在软件上建立提供到作业网络触创建部分 32的语法树创建装置42、语法树优化装置43和文件分割装置(JCL文件分割装置44)。此 外,在记录介质上记录作业网络到流程转换程序30,该记录介质可以作为商业交易的对象 来处理。这里请注意,第一文件是以JCL(作业控制语言)编写的JCL文件21,而第二文件 是以命令解释器语言编写的脚本文件24。作业网络创建部分32具有读出第一文件并对其添加索引的文件读出装置41。此 外,语法树创建装置42通过从顶部扫描编入索引的第一文件101来创建语法树。通过具有上述结构的元件,作业网络到流程装换装置10能够通过排除并行执行指令 和顺序控制指令来分割JCL文件,并然后将该分割的文件转换成作业网络形式的文件结构。下文中,这将被更详细地描述。图1是示出了包括根据本示例性实施例的文件转换装置的作业网络到流程转换 装置10的方框图。作业网络到流程转换装置10是典型的计算机装置,其包括作为用于执 行计算机程序的主体的CPU(中央处理器)11 ;HDD(硬盘驱动器)12,其中存储有由CPU 11 执行的计算机程序并且由该程序处理的各种文件(将在后面描述);以及RAM(随机访问存 储器)13,其中临时存储有CPU 11从HDD 12读取的程序。CPU 11将作业网络到流程转换程序30作为计算机程序来执行。该作业网络到流 程转换程序30是使得CPU 11执行这样的处理的程序,该处理用于读出存储在HDD 12中的 JCL文件21,将其转换为流程图22以及以能够被通用OS解释的命令解释器语言所编写的 脚本文件24,并且将它们输出到HDD 12。图2A示出了关于图1所示的计算机资源的对应关系,而图2B以更加概念化的方 式示出了在工作期间由每个部分和每个文件的流程所完成的工作。将根据本实施例的文件转换装置构造成包括在作业网络到流程装置10之中的作业网络创建部分32和实际处理行转换部分33。特别地,将作业网络创建部分32建立为重 要的结构。根据本示例性实施例的文件转换装置中所包括的作业网络创建部分32和实际 处理行转换部分33的具体结构将在下面描述。通过使得CPU 11执行作业网络到流程转换程序30,而在软件上建立JCL文件输入 部分31、作业网络创建部分32、实际处理行转换部分33以及作业网络输出部分34。JCL文件输入部分31从HDD 12读出JCL文件21,并将JCL文件21输入到作业网 络创建部分32。作业网络创建部分32分析从JCL文件输入部分31接收到的JCL文件21 中的JCL描述,基于该分析来创建流程图22,并通过以根据流程图22的单位分割JCL文件 21来创建分割的JCL文件23。实际处理行转换部分33将由作业网络创建部分32创建的分割文件23中写入的 实际处理描述转换成命令解释器语言的描述内容,以便将该分割文件23转换成脚本文件 24。当分割文件23是JCL文件时,实际处理行转换部分33将在由作业网络创建部分32创 建的分割的JCL文件23中的以JCL语言编写的实际处理描述转换成以命令解释器语言编 写的脚本文件24。作业网络输出部分34将此前创建的文件结构(作业网络流程形式的流程图22和 脚本文件24)输出到HDD 12以将它们存储在该HDD 12中。脚本文件24连结于流程图22, 并且流程图22包括例如START部分、END部分、单元作业部分、平行分叉部分、继续部分、作 业等待部分等的各部分。图3是具体地示出了图2所示的作业网络创建部分32的方框图,该作业网络创建 部分32形成了根据本示例性实施例的文件转换装置的主要部分。如图3所示,图1中所示 的形成了根据本示例性实施例的文件转换装置的主要部分的作业网络创建部分32包括 文件读出装置41、语法树创建装置42、语法树优化装置43和JCL文件分割装置44。通过使CPU 11执行作业网络到流程转换程序30,将提供到作业网络创建部分32 的JCL文件读出装置41、语法树创建装置42、语法树优化装置43和JCL文件分割装置44 建立在软件上。文件读出装置41逐行读取输入的文件的描述内容,并且通过对该读取的内容逐 行添加索引IOla来该管理描述内容。这将详细表述。如图5所示,以作业控制语言(JCL)来编写文件21的描述内容,并且文件读出装 置41以行为单元来执行如下所示的输入文件的描述内容的读出处理。JCL指令行包括如下指令。YJOB 意为JCL描述的开始。YENDJ0B 意为JCL描述的结束。YSUBJ0B 意为并行执行处理的描述的开始。YENDSUBJ0B 意为并行执行处理的描述的结束。YffAITSUB 意为等待指定的YSUBJ0B的结束。¥WHEN_JUMP 意为在指定条件下跳(JUMP)到指定行。YWHEN_BACK 意为在指定条件下返回(BACK)到指定行。如图5所示,文件读出装置41读取输入的JCL文件21的描述内容,为读取的描述 内容的每一行添加索引101a,并且将描述内容作为具有索引的文件IOla来管理。当管理连
8结于索引IOla的描述内容时,文件读出装置41通过将JCL文件101存储到RAM 13中来管 理所述内容,其中以读取的描述内容的行作为单元将索引IOla添加在该JCL文件101中。在图5的情况下,文件读出装置41将作为索引IOla的“001 ”施加到“ST001 YJ0B”,该“ST001 YJ0B”是以行为单元从输入的JCL文件21读取的第一行上的描述内 容;将作为索引IOla的“002”施加到作为第二行的描述内容的“ACTUAL PROCESSING 1”; 为从作为第三行上的描述内容的“ YWHEN_JUMP”到作为最后一行上的描述内容的“ST009 YSUBJ0B”的描述内容施加作为相应索引IOla的“003,,- “018”;并且将JCL文件21的描 述内容作为编入索引的文件101来管理。图5中所示的JCL文件101示出了当文件读出装 置41通过将索引IOla施加到由该文件读出装置41自身以行为单位读出的描述内容来管 理该描述内容的时候的文件的描述内容。图7示出了图5中所示在RAM 13上的由文件读出装置41处理的具有索引的文 件101的数据结构。如图7所示,在索引IOla “001,,- “018”分别与作为逐行读取的描述 内容的字符串数据IOlb相对应的情况下,具有索引的文件101存储在RAM 13中。此外,如 图7所示,使索引IOla, "001"- “018”以线性连接的方式存储在RAM 13上,该索引IOla, “001”- “018”是分别施加到描述内容的字符串数据IOlb的索引。如图9所示,语法树创建装置42线性地扫描由文件读出装置41管理的文件101 的索引101a,以将文件的每行中的描述内容(字符串数据IOlb)转换成以树结构的语法树 102。“由语法树创建装置42线性地扫描文件101的索引101a”意味着,例如,以从图7所 示的文件101的索引IOla的“001”作为扫描起点到最后一个索引IOla的“0018”的顺序 来扫描该索引。语法树创建装置42采用这样的规则,即,由于“ YSUBJ0B”意为并行执行处理的起 点,所以通过对应于“ YSUBJ0B”而写作“parallel” ;由于“ YWHEN_JUMP” (或BACK)意为 在指定的条件下跳(或返回)到指定行,所以通过对应于“YWHEN_JUMP”(或BACK)而写 作“if” ;在指定“ YWAITSUB”的情况下,由于“ YWAITSUB”意为等待“ YSUBJ0B”的结束, 所以通过对应于“YWAITSUB”而写作“wait”;从而将索引文件101的描述内容转换成语法 树 102。以与如上所述相同的方式,语法树创建装置42线性扫描由文件读出装置41管理 的文件101的索引101a,以基于所述规则来编写文件的每一行描述内容之中的JCL指令行 的描述内容和顺序控制指令的描述内容,并且通过使其与前述的编写表达相关联来将文件 101的描述内容转换成树结构的语法树102。在图9所示的情况中,语法树创建装置42基于编写表达规则,将显示有索引 IOla “001”的描述内容“ST001 YJOB”写作“ROOT”,并将显示有索弓丨IOla “002”的描述 内容“ACTUAL PROCESSING 1”写作对于“ROOT”的树结构。类似地,语法树创建装置42线性 地扫描作为文件101的索引IOla的“003”- “018”,以将施加有索引IOla的描述内容(字 符串数据101b)转换成树结构的语法树102。在图9中所示的通过语法树创建装置42所转换的语法树102中,“ROOT”、“if”、 "parallel","if"等是显示有索引 IOla “001”、“003”、“005”、“008”、“010”、“012” 和 “018”的描述内容(字符串数据101b)到语法树102的转换。此外,图9中所示的索引 IOla “002,,、“004,,、“007,,、“009,,、“011,,、“013” 和 “014”- “017” 是显示有文件 101 的"ACTUAL PROCESSING 1”至‘‘ACTUAL PROCESSING 10”的描述内容(字符串数据 IOlb)到语 法树102的转换。在上述方法中,语法树创建装置42通过线性扫描由文件读出装置401管理的文件 101的索引101a,来将文件101的每行的描述内容(字符串数据IOlb)转换成树结构的语 法树102,从而获得如图10中所示的树结构的语法树102。图6示出了索引文件101与如图9所示在RAM 13上的由语法树创建装置42处理 的语法树102的数据结构之间的关系。如图9中所示,语法树102构建为树结构的形式,该 树结构具有的“R00T”、“if”、“parallel”、“if”,作为根据所述规则表达指令行的索引,并具 有“002”、“007”等,作为与字符串数据IOlb对应的索引IOla0由语法树创建装置42创建的语法树102以如图10所示的分层结构的形式形成树 结构。将描述图10中所示的语法树102的树结构。如图10所示,使索引“ROOT”作为最高 层,下面的索引“002”作为左子要素(left) 102a2位于下一分层处,索引“if”作为左子要 素(left) 102a2在下一分层处连接于索引“002”,索引“004”作为左子要素(left) 102a2 同时索引“014”作为右子要素(right) 102a3在下一分层处分别连接于索引“if”,索引 "parallel"作为左子要素(left) 102a2在下一分层处连接于索引“004”,并且索引“009” 作为左子要素(left) 102a2同时索引“007”作为右子要素(right) 102a3在下一分层处分 别连接于索引“parallel”。下面的索引“if”_ “END”作为左子要素(left)或右子要素 (right)以分层结构的顺序而连接。在上述方法中,将图10中所示的语法树102建立为树结构,该树结构采用通过使 索引“ROOT”至“END”作为左子要素(left)102a2或右子要素(right) 102a3的分层结构的形式。当语法树创建装置42记录RAM 13上的树结构的语法树102时,该语法树102被 记录为如图8所示的构造该语法树102的多个数据串102a。S卩,如图6所示,在索引IOla所施加到的文件101的数据结构之中,语法树102 的每层的数据串102a被建立为其中索引102al位于顶部,然后排布左子要素(left) 102a2 或右子要素(right) 102a3,在进一步排布施加有索引IOla的字符串数据IOlb的行号 (line) 102a4的数据结构。这些数据串102a可以利用附图中用参考标号102b示出的语言 来表达。索引IOlal包括图6中所示的索引IOlal以及例如图10中所示的“R00T”、“if”、 “ paral 1 e 1 ”、“ wai t ”、“ go to ”、“ END ” 等的索引。如图8中所示,通过保持图10中所示的从作为索引IOlal的分层“ROOT”的数据 串102a到作为索引IOlal的分层“END”的数据串102a的树结构的关系,语法树创建装置 42将图6中所示的每层的数据串102a记录在RAM 13上。此外,如图8中所示,语法树创建 装置42通过使数据串102a的行号(lines) 102a4分别对应于作为每行的描述内容的字符 串数据101b,而将该数据串102a的行号(lines) 102a4记录在RAM 13上。语法树优化装置43基于JCL的顺序规则和目标作业管理工具的流程特性来设定 下面的优化规则。规则1 以从叶节点到“ROOT”的顺序来进行优化。规则2 仅当目标节点没有被锁定时,可以将“gotoOmn)”与属于同一父节点的节 点“if”的分支上的节点"nnn"连接。注意,“ (nnn) ”和"nnn"意为索引IOla中的“002”、“ 004 ”、“ 007 ”、“ 009 ”、“ 011”、“ 013 ” 和 “ 014 ” 至 “ 018 ”。这应用于下文。规则3 仅当目标节点没有被锁定时,可以将“wait (nrm)”与属于同一父节点的节 点“parallel”的分支上的节点“nrrn”连接。规则4 可以将节点“END”补充到属于节点“parallel”的分支的叶节点。规则5 可以将“gotoOmn) ”转换到节点“nrrn”至节点“END”的分支。基于上述优化规则,语法树优化装置43将从语法树创建装置42输入的树结构的 语法树102优化为流程图。基于图13至图18,将通过参考图10中所示的语法树102的情 况来描述基于该优化规则由语法树优化装置43进行的语法树102的优化处理。在图13至 图18中,“节点***”对应于图10中所示的包含在语法树102中的索引IOlal中的“001”至 “018”。此外,在图 13 至图 18 中,“R00T,,、“if,,、“goto,,、“parallel,,、“Wait,,以及“END,,对应 于图10所示的包含在语法树102中的索引IOlal中的“R00T”、“if ”、“g0t0”、“parallel”、 “wait” 以及 “END”。语法树优化装置43在图10所示的语法树102的树结构之中搜索“END”。然后,如 图13所示,通过使搜索到的“END”作为优化“END节点351”的起点,语法树优化装置43以 朝着“ROOT”的方向开始图10中所示语法树102的树结构的搜索。如图14中所示,当检测“if 352”时,语法树优化装置43通过参考所述规则,识 别到规则2是适用的,并执行“goto (016),,与节点“016”的连接处理。而且,如图14中所 示,语法树优化装置43锁定“goto(016)”与节点“016”之间的所有路径上的节点“015”至 “011”。在图14中,由语法树优化装置43锁定的节点“016”至“011”用附图标记353表示。如图15中所示,当完成图14中所示的处理时,语法树优化装置43开始从如 图10所示语法树102搜索并检测“parallel”。图15示出了语法树优化装置43检测 "parallel (007) 354” 的状态。如图15中所示,当检测“parallel (007) 354”时,语法树优化装置43通过参考所 述规则,识别到规则3是适用的,并执行节点“007”与节点“wait (007) ”的连接处理。在此 情况下,节点“wait(007)”处于如图14中所示的锁定状态353,使得语法树优化装置43停 止节点“007”与节点“wait (007) ”的连接处理。如图16中所示,在停止图15中的连接处理后,语法树优化装置43重新开始搜索, 并检测下一个“if”。如图16中所示,当检测“if 355”时,语法树优化装置43通过参考所 述规则,识别到规则2是适用的,并执行节点“014”与“goto (014),,的连接处理。在此情况 下,节点“014”处于如图14中所示的锁定状态353,使得语法树优化装置43停止节点“014” 与“goto (014)”的连接处理。如图17中所示,在停止图16中的连接处理后,语法树优化装置43通过参考所述 规则,识别到规则4是适用的,并将“END”补充到作为“parallel 354”的子叶节点的节点 “007”。而且,如图17中所示,语法树优化装置43通过参考所述规则,识别到规则5是适用 的,并将"goto (014),,转换到节点“014”至节点"END 351 ”的分层结构357。如图18中所示,当完成图17中的处理时,语法树优化装置43执行用于将补充在 图17中的叶节点的“END”连接到作为搜索起点的“END 351”的处理,以将图10中所示的 语法树102优化成图19中所示的流程图22。从而,终止优化处理。
如图19中所示,图10中所示的语法树102处于目标作业管理工具的流程并且其 是以最大限度被简化的流程图。由图19显然的是,该流程图包括作为控制符的“START”、 “if”、“parallel”和“wait”。而且,图19中所示的流程图22被建立为网络形式的流程 图,其中固定了作为起点的“START” (ROOT)和作为终点的“END”。而且,在图19中,“002,, 至“017”对应于包含在图10中所示的语法树102中的“002”至“017”。此外,在图19中, “R00T”、“if”、“parallel”、“wait”和“END”对应于包含在图10中所示的语法树102中的 “ ROOT ”、“ if ”、“paral 1 e 1”、“ wai t,,和 “END,,。如图20中所示,当从语法树优化装置43接收图19中所示的流程图22的时候,通 过使流程图22的控制符(START/if/parallel/wait)作为标识符,文件分割装置44执行输 入的JCL文件101的分割处理,并且将已经分割处理完的文件23和其中考虑到该分割的文 件23的流程图22a输出。这将通过参考图20来详细描述。如图20中所示,当检测流程图22的控制符“START”和控制符“if”的时候,文件分 割装置44识别存在于控制符“START”和“if”之间的索引“002”。在该识别的情况下,文件分 割装置44将索引101a“002”所施加到的JCL文件101的行的描述内容“ACTUALPROCESSING 1”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成为JOB 1的 分割文件23,其包括作为索引IOla的“002”所施加到的行的字符串数据101b。如图20中所示,当检测流程图22的控制符“if”和控制符“parallel”的时候,文 件分割装置44识别存在于该控制符if ”与“parallel”之间的索引“004”。在该识别的情况 下,文件分割装置44将索引IOla “004”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 2”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成 为J0B2的分割文件23,其包括作为索引IOla的“004”所施加到的行的字符串数据IOlb0如图20中所示,当检测流程图22的控制符“parallel”和控制符“if”的时候, 文件分割装置44识别存在于该控制符“parallel”与“if”之间的索引“009”。在该识别 的情况下,文件分割装置44将索引IOla “009”所施加到的JCL文件101的行的描述内容 "ACTUALPROCESSING 4”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割 的文件成为J0B3的分割文件23,其包括作为索引IOla的“009”所施加到的行的字符串数 据 IOlb0如图20中所示,当检测流程图22的控制符“if”和控制符“wait (007),,的时候, 文件分割装置44识别存在于该控制符“if”与“wait (007) ”之间的索引“011”。在该识别 的情况下,文件分割装置44将索引IOla “011”所施加到的JCL文件101的行的描述内容 "ACTUALPROCESSING 5”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割 的文件成为J0B4的分割文件23,其包括作为索引IOla的“011”所施加到的行的字符串数 据 IOlb0如图20中所示,当检测流程图22的控制符“wait (007) ”和控制符“将if作为起 点的网络的分叉点P1”的时候,文件分割装置44识别存在于该些控制符之间的索引“013、 014、015”。在该识别的情况下,文件分割装置44将索引IOla “013、014、015”所施加到的 JCL文件101的行的描述内容“ACTUAL PROCESSING 6、7、8”视为单个文件,并将其从该JCL 文件101分割为个别文件。该分割的文件成为J0B5的分割文件23,其包括作为JCL文件 101的索引IOla的“013、014、015”所施加到的行的字符串数据IOlb0
如图20中所示,当检测流程图22的控制符“将if作为起点的网络的分叉点P1” 和控制符“END”的时候,文件分割装置44识别存在于该些控制符之间的索引“016、017”。 在该识别的情况下,文件分割装置44将索引IOla “016、017”所施加到的JCL文件101的 行的描述内容“ACTUAL PROCESSING 9、10”视为单个文件,并将其从该JCL文件101分割为 个别文件。该分割的文件成为J0B6的分割文件23,其包括作为JCL文件101的索引IOla 的“016、017”所施加到的行的字符串数据101b。如图20中所示,通过使流程图22的控制符“END”作为起点,文件分割装置44检测 控制符“parallel”,并然后检测与配置有索引 IOla “009、011、007、013、014、015、016、017” 的网络平行的网络。在检测网络的时候,文件分割装置44识别存在于控制符“parallel”和 控制符“END”之间的索引“007”。在该识别的情况下,文件分割装置44将索引IOla “007” 所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 3”视为单个文件,并将其 从该JCL文件101分割为个别文件。该分割的文件成为J0B7的分割文件23,其包括JCL文 件101的作为该JCL文件101索引IOla的“007”所施加到的的行的字符串数据101b。如图20中所示,文件分割装置44通过使流程图22的控制符“END”作为起点来检 测控制符“if”,该控制符“if”位于比控制符“parallel”更靠近控制符“START”的一侧上, 然后检测与配置有索引IOla “004、009、011、007、013、014、015、016、017”的网络平行的网 络。在检测网络的时候,文件分割装置44识别存在于控制符“if”和控制符“END”之间的索 弓丨“014、015、016、017”。在该识别的情况下,文件分割装置44将索引IOla “014、015、016、 017”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 7、8、9、10”视为单个 文件,并将其从JCL文件101分割为个别文件。该分割的文件成为J0B8的分割文件23,其 包括JCL文件101的作为JCL文件101的索引IOla的“014、015、016、017”所施加到的行 的字符串数据101b。如上所述,如图20和图21中所示,当从语法树优化装置43接收图19中所示的流 程图22的时候,通过使流程图22的控制符(START/if/parallel/wait)作为标识符,文件 分割装置44执行输入的JCL文件101的分割处理,并且不仅输出多个已经被分割处理完的 分割文件23而且输出其中考虑到分割文件23的流程图22a。如图21中所示,考虑到分割 文件23的流程图22a是指其中例如“if”和“wait J0B7”的索引IOla写入在网络中并且 作为分割的JOB文件的“J0B1”至“J0B8”写入在图19所示的网络中的流程图22a。“J0B1” 至“J0B8”对应于上述分割文件23。图4是示出了补充图2中所示的作业网络创建部分32的实际处理行转换部分33 的具体结构的方框图,该作业网络创建部分32构成了根据本实施例的文件转换装置的主 要部分。根据本示例性实施例的实际处理行转换部分33将由作业网络创建部分32的文件 分割装置44输出的分割文件转换为脚本文件。具体地,实际处理行转换部分33包括JCL 文件输入装置51、脚本文件创建装置52和脚本文件输出装置53。JCL文件输入装置51接收由文件分割装置44分割的文件23,并将它们输出到脚 本文件创建装置52。脚本文件创建装置52通过使用转换辞典54将JCL文件23转换成脚本文件24。 在该转换辞典54中,为了将写在JCL文件23中的实际处理描述转换成能够通过广泛使用 的操作系统解释的脚本文件,以对应的方式存储了作业控制语言(JCL)和能够由通用的操作系统解释的命令解释器语言。因此,脚本文件创建部分52通过使用转换辞典54将写在 文件23中的实际处理描述转换成命令解释器语言,以便将分割文件23转换成脚本文件24。脚本文件输出装置53将从脚本文件创建装置52接收到的脚本文件24存储在HDD 12中。下面,所描述的是用于通过使用包括根据本示例性实施例的文件转换装置的作业 网络到流程转换装置10,将由给定的语言所编写的文件格式转换成能够由另一种语言解释 的文件格式的方法。首先,JCL文件输入部分31从HDD 12读取JCL文件21,并将该JCL文件21输出到 作业网络创建部分32的文件读取装置41。如图5中所示,文件读出装置41逐行读取输入的 JCL文件21的描述内容,并通过将索引IOla施加到所读取的描述内容的每一行,将描述内 容作为具有索引的文件IOla来管理。在图5的情况下,文件读出装置41将作为索引IOla的 “001”施加到从输入的JCL文件21以行为单位读取的第一行的描述内容“ST001 : YJ0B”, 将作为索引IOla的“002”施加到作为第二行的描述内容的“ACTUAL PROCESSING 1”,为从 第三行上的描述内容的“ YWHEN_JUMP”到最后一行上的描述内容的“ST009 YSUBJ0B”分 别施加作为各索引IOla的“003,,- “018”,并且将JCL文件21的描述内容作为编入索引的 文件101来处理。如图11中所示,当接收由文件读出装置41管理的编入索引的文件101时,语法树 创建装置42开始用于将文件101转换成树结构的语法树102的处理。这将具体描述。如图9中所示,当语法树创建装置41线性扫描文件101的索引IOla并搜索索引 IOla中的“001”时,语法树创建装置41创建语法树102的“ROOT” (图11的步骤S201),并 将“ROOT”作为语法树102的起点。然后,语法树创建装置41继续索引IOla的扫描(图11的步骤S202),并判断索 引IOla中的“002”是否为“ENDJOB” (图11的步骤S203)。当判断为NO时,语法树创建装 置41将“002”连接到“ROOT”来作为左子要素。进一步,语法树创建装置41继续扫描索引 101a,并检测索引IOla中的“003”。语法树创建装置41判断索引IOla中的“003”是否为 "WHEN JUMP” 或 “WHEN BACK”(图 11 的步骤 S204)。当判断出索引IOla中的“003”为“WHEN JUMP”或“WHENBACK”时,语法树创建装 置41将作为子节点的“if”添加到“002”的下一层(图11的步骤S211a),将指针移动到该 “if” (图11的步骤S211b),并将作为子节点的“goto (nrm)”添加到“if”的下一层(图11 的步骤S211c)。在该情况下,添加节点“goto (014) ”和节点“004”。在结束上述处理之后, 语法树创建装置41将处理切换到图11的步骤S202。语法树创建装置41执行图11的步骤S203和S204的处理,并进一步判断是否存 在新的控制符“SUBJ0B” (图11的步骤S205)。当判断出存在控制符“SUBJ0B”时,语法 树创建装置41添加“parallel (nrm)”作为子节点(图11的步骤S212a)。而且,将其视 为"parallel (007) ”,语法树创建装置41添加“009”和“007”作为子节点(图11的步骤 S212b)。语法树创建装置41将处理切换到图11的步骤S204,以判断是否存在控制符“WHEN JUMP”或“WHEN BACK”。当判断出存在控制符“WHEN JUMP”或“WHEN BACK”时,语法树创建 装置41添加“if”作为子节点(图11的步骤S211a),切换到添加了该“if”的“011” (图
1411的步骤S211b),并添加“parallel (016)”作为子节点(图11的步骤S211c)。语法树创建装置41将处理切换到图11的步骤S206,来判断是否存在控制符 “ENDSUBJ0B”。当判断出存在控制符“ENDSUBJOB”时,语法树创建装置41返回到作为父节点 的“parallel (007) ”(图11的步骤S213a),并然后将处理切换到图11的步骤S207。而且, 当判断出存在控制符“WAITSUB”时,语法树创建装置41添加作为子节点的“wait (007)”(图 11的步骤S214a)。此外,语法树创建装置41添加节点“013”,并切换到该节点(图11的步 骤 S214b)。语法树创建装置41通过重复图11的步骤S215a和S215b的处理来添加节点 “014”、“015”、“016”和 “017”。如上所述,语法树创建装置41基于编写表达规则来将显示有索引IOla中的“001” 的描述内容“ST001 YJOB”表达为“ROOT”,并将显示有索弓丨IOla中的“002”的描述内容 "ACTUAL PROCESSING 1”表达为树结构。类似地,语法树创建装置41线性扫描作为文件101 的索引IOla的“003”至“018”,以将索引IOla所施加到的描述内容(字符串数据101b)转 换成树结构的语法树102。由语法树创建装置42创建的语法树102以如图10所示的分层结构的形式来形成 树结构。将描述该语法树102的树结构。如图10所示,将索引“ROOT”作为最高层,下面的索 弓丨“002”作为左子要素(left) 102a2位于下一分层处,索引“if”作为左子要素(left) 102a2 在下一分层处而连接于索引“002”,索引“004”作为左子要素(left)102a2同时索引“014” 作为右子要素(right) 102a3在下一分层处分别连接于索引“if ”,索引"parallel"作为 左子要素(left) 102a2在下一分层处连接于索引“004”,并且索引“009”作为左子要素 (left) 102a2同时索引“007”作为右子要素(right) 102a3在下一分层处分别连接于索引 “parallel”。下面的索引“if ”至“END”作为左子要素(left)或右子要素(right)顺序连 接为分层结构。基于上述优化规则,语法树优化装置43将从语法树创建装置42输入的树结构的 语法树102优化为流程图。这将通过参考图12以具体的方式来描述。语法树优化装置43搜索图10中所示的语法树102的树结构之中的“END” (图12 的步骤S301)。然后,如图13中所示,通过使搜索到的“END”作为优化“END节点351”的起 点,语法树优化装置43在朝着“ROOT”的方向上开始图10中所示的语法树102的树结构的 搜索,并首先检测图13中所示的“if节点352” (图12的步骤S302、S303)。语法树优化装置43判断对于节点“if”,在同级分支上是否存在作为节点 “goto (016)”的跳转目标节点的节点“016”,(图12的步骤S303a)。如图14中所示, 当检测“if 352”时,语法树优化装置43通过参考规则,识别到规则2是适用的,并执行 "goto (016) ”与节点“016”的连接处理(图12的步骤S303b、S311a)。而且,如图14中所 示,语法树优化装置43将“goto (016) ”和节点“016”之间的所有路径上的节点“015”至 “011”锁定(图12的步骤S311b)。如图15中所示,当完成图14中所示的处理时,语法树优化装置43开始从如图10 所示的语法树102搜索并检测“parallel” (图12的步骤S304)。如图15中所示,当检测 "parallel (007) 354”时,语法树优化装置43通过参考规则,识别到规则3是适用的,并执行 节点“007”与节点“wait (007) ”的连接处理(图12的步骤S304a、S304b、S312a)。在此情况下,节点“wait (007),,处于如图14中所示的锁定状态353,使得语法树优化装置43停止 节点“007”与节点“wait (007)”的连接处理(图12的步骤S312b)。如图16中所示,在停止图15中的连接处理后,语法树优化装置43重新开始搜索, 并检测下一个“if”(图12的步骤S303)。如图16中所示,当检测“if 355”时,语法树优 化装置43通过参考规则,识别到规则2是适用的,并执行节点“014”与“goto (014) ”的连 接处理(步骤S303a、303b、S311a)。在此情况下,节点“014”处于如图14中所示的锁定状 态353,使得语法树优化装置43停止节点“014”与“goto (014) ”的连接处理(图12的步骤 S311b)。如图17中所示,在停止图16中的连接处理后,语法树优化装置43通过参考规 则,识别到规则4是适用的,并将“END”补充到作为“parallel 354”的子叶节点的节点 “007” (图12的步骤S305、S306)。而且,如图17中所示,语法树优化装置43通过参考规 则,识别到规则5是适用的,并将“goto(014) ”转换到节点“014”至“END 351”的分层结构 357。如图18中所示,当完成图17中的处理时,语法树优化装置43执行用于将图17中 补充的叶节点的“END”连接到作为搜索起点的“END351”的处理,以将图10中所示的语法 树102优化成图19中所示的流程图22 (图12的步骤S307)。从而,终止优化处理。如图20中所示,当检测流程图22的控制符“START”和控制符“if”的时候,文件 分割装置44识别存在于该些控制符之间的索引“002”。在该识别的情况下,文件分割装置 44将索引IOla “002”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 1” 视为单个文件,并将其从JCL文件101分割为个别文件。如图20中所示,当检测流程图22的控制符“if”和控制符“parallel”的时候,文 件分割装置44识别存在于该些控制符之间的索引“004”。在该识别的情况下,文件分割装 置44将索引IOla “004”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 2”视为单个文件,并将其从JCL文件101分割为个别文件。如图20中所示,当检测流程图22的控制符“parallel”和控制符“if”的时候,文 件分割装置44识别存在于该些控制符之间的索引“009”。在该识别的情况下,文件分割装 置44将索引IOla “009”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 4”视为单个文件,并将其从JCL文件101分割为个别文件。如图20中所示,当检测流程图22的控制符“if”和控制符“wait (007) ”的时候, 文件分割装置44识别存在于该些控制符之间的索引“011”。在该识别的情况下,文件分割 装置44将索引IOla “011”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 5”视为单个文件,并将其从JCL文件101分割为个别文件。如图20中所示,当检测流程图22的控制符“wait (007) ”和控制符“将if作为起 点的网络的分叉点P1”的时候,文件分割装置44识别存在于该些控制符之间的索引“013、 014、015”。在该识别的情况下,文件分割装置44将索引IOla “013、014、015”所施加到的 JCL文件101的行的描述内容“ACTUAL PROCESSING 6、7、8”视为单个文件,并将其从JCL文 件101分割为个别文件。如图20中所示,当检测流程图22的控制符“将if作为起点的网络的分叉点P1” 和控制符“END”的时候,文件分割装置44识别存在于该些控制符之间的索引“016、017”。在该识别的情况下,文件分割装置44将索引IOla “016、017”所施加到的JCL文件101的 行的描述内容“ACTUAL PROCESSING 9、10”视为单个文件,并将其从JCL文件101分割为个 别文件。如图20中所示,通过使流程图22的控制符“END”作为起点,文件分割装置44检测 控制符“parallel”,并然后检测与配置有索引 IOla “009、011、007、013、014、015、016、017” 的网络平行的网络。在检测网络的时候,文件分割装置44识别存在于控制符“parallel”和 控制符“END”之间的索引“007”。在该识别的情况下,文件分割装置44将索引IOla “007” 所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 3”视为单个文件,并将其 从JCL文件101分割为个别文件。如图20中所示,文件分割装置44通过使流程图22的控制符“END”作为起点来检 测控制符“if”,该控制符“if”位于比控制符“parallel”更靠近控制符“START”的一侧上, 并然后检测与配置有索引IOla “004、009、011、007、013、014、015、016、017”的网络平行的 网络。在检测网络的时候,文件分割装置44识别存在于控制符“if”和控制符“END”之间 的索引“014、015、016、017”。在该识别的情况下,文件分割装置44将索引IOla "014,015, 016、017”所施加到的JCL文件101的行的描述内容‘‘ACTUAL PROCESSING 7、8、9、10”视为 单个文件,并将其从JCL文件101分割为个别文件。JCL文件输入装置51接收由文件分割装置44所分割的文件23,并将它们输出到 脚本文件创建装置52。脚本文件创建装置52通过使用转换辞典54而将从JCL文件输入装 置51接收到的JCL文件23转换成脚本文件24。脚本文件输出装置53将从脚本文件创建 装置52接收到的脚本文件24存储在HDD 12中。该示例性实施例构造成通过排除并行执行指令和顺序控制指令来分割JCL文件, 并然后将其转换成作业网络形式的文件结构。从而,可以高效地执行转换。这使其可以创 建具有高维护性的简单作业网络形式的文件结构。此外,该示例性实施例被设计成包括用于将写在由文件分割装置分割的文件中的 实际处理描述的语言转换成命令解释器语言的实际处理行转换部分。从而,可以容易地从 与流程图分离的分割文件来创建能够被通用的OS解释的脚本文件。此外,文件分割装置除了输出分割文件之外还输出通过优化语法树的树结构而获 得的流程图。从而,实际处理行转换部分能够容易地将分割的JCL文件转换成脚本文件。因 此,可以使主要由手动完成的JCL文件到作业网络的转换有效地自动进行。这使其可以大 大地减少进行从计算机系统的主机到开放系统的转变所需的成本、时间等。此外,语法树优化装置将语法树优化为其中固定了起点和终点的网络形式的流程 图。从而,所创建的网络作业是处于高维护性的简单流程中,使得可以极为容易地进行在转 变之后的作业监控和作业修正。这进一步大大提高了转变后的维护性。特别地,可以提高 具有典型作业管理工具的作业操作的维护操作性。根据本发明的示例性优点,本发明构造成首先通过排除并行执行指令和顺序控制 指令来分割JCL文件,并然后将其转换成作业网络形式的文件结构。因此,可以高效地执行 转换。这使其可以创建具有高维护性的简单作业网络形式的文件结构。虽然已经通过参考附图中所示的具体示例性实施例描述了本发明,但是本发明不 仅仅局限于附图中示出的示例性实施例。可知的是,只要利用其能实现本发明的作用,本发明可以采用任何已知的结构。上述示例性实施例的整体或部分可以被描述成下面的补充注解,但并不限于此。(补充沣解1)一种文件转换装置,其将以给定语言编写的文件格式转换成能够由 另一种语言解释的文件格式,该装置包括文件读出装置,其逐行读取输入的文件的描述内 容,并且通过对该读取的描述内容的每行添加索引来管理该描述内容;语法树创建装置,其 通过线性扫描由文件读出装置管理的文件的索引,基于该索引将描述内容转换成树结构的 语法树;语法树优化装置,其根据优化规则,将语法树的树结构优化为流程图;以及文件分 割装置,其通过使由语法树优化装置所优化的流程图中的控制符作为标识符来分割输入的 文件。(补充沣解2)根据补充注解1的文件转换装置,还包括实际处理行转换部分,其将 写在由文件分割装置分割的文件中的实际处理描述的语言转换成命令解释器语言。(补充沣解3)根据补充注解1的文件转换装置,其中文件分割装置除了输出分割 文件之外,还输出通过优化语法树的树结构而获得的流程图。(补充沣解4)根据补充注解1的文件转换装置,其中语法树优化装置将语法树优 化为其中固定了起点和终点的网络形式的流程图。(补充沣解5)一种文件转换方法,用于将以给定语言编写的文件格式转换成能够 由另一种语言解释的文件格式,该方法包括逐行读取输入的文件的描述内容,并且通过对 该读取的描述内容的每行添加索引来管理该描述内容;通过线性扫描管理的文件的索引, 基于该索引将描述内容转换成树结构的语法树;根据优化规则,将语法树的树结构优化为 流程图;以及通过使流程图中的控制符作为标识符来分割输入的文件。(补充沣解6)根据补充注解5的文件转换方法,还包括将写在分割文件中的实 际处理描述的语言转换成命令解释器语言。(补充沣解7)根据补充注解5的文件转换方法,还包括除了输出分割文件之外, 还输出通过优化语法树的树结构而获得的流程图。(补充沣解8)根据补充注解5的文件转换方法,其中语法树被优化为其中固定了 起点和终点的网络形式的流程图。(补充沣解9)一种存储文件转换程序的计算机可读记录介质,其用于使得配置了 将以给定的语言编写的文件格式转换成能够被另一种语言解释的文件格式的文件转换装 置的计算机来执行逐行读取输入的文件的描述内容,并且通过对读取的描述内容的每一 行添加索引来管理描述内容的功能;通过线性扫描所管理的文件的索引,基于该索引来将 描述内容转换成树结构的语法树的功能;根据优化规则来将语法树的树结构优化成流程图 的功能;以及通过使流程图中的控制符作为标识符来分割输入的文件的功能。(补充沣解10)根据补充注解9的存储文件转换程序的计算机可读记录介质,其还 使得计算机执行将写在分割文件中的实际处理描述的语言转换成命令解释器语言的功能。(补充沣解11)一种文件转换装置,其将以给定语言编写的文件格式转换成能够 由另一种语言解释的文件格式,该装置包括文件读出装置,用于逐行读取输入的文件的描 述内容,并且通过对该读取的描述内容的每行添加索引来管理该描述内容;语法树创建装 置,用于通过线性扫描由所述文件读出装置管理的文件的所述索引,基于该索引将所述描 述内容转换成树结构的语法树;语法树优化装置,用于根据优化规则,将语法树的树结构优化为流程图;以及文件分割装置,用于通过使由所述语法树优化装置所优化的所述流程图 中的控制符作为标识符来分割所述输入的文件。工业可用性如上所述,本发明使其可以高效地将JCL文件转换成作业网络。因此,本发明对于 进行从计算机系统的主机到开放系统的转变是极为有效的。
权利要求
一种文件转换装置,该文件转换装置将以给定语言编写的文件格式转换成能够由另一种语言解释的文件格式,该装置包括文件读出装置,该文件读出装置逐行读取输入的文件的描述内容,并且通过对所读取的描述内容的每行添加索引来管理该描述内容;语法树创建装置,该语法树创建装置通过线性扫描由所述文件读出装置管理的文件的所述索引,基于该索引将所述描述内容转换成树结构的语法树;语法树优化装置,该语法树优化装置根据优化规则,将所述语法树的所述树结构优化为流程图;以及文件分割装置,该文件分割装置通过将由所述语法树优化装置所优化的所述流程图中的控制符作为标识符,来分割所述输入的文件。
2.根据权利要求1所述的文件转换装置,还包括实际处理行转换部分,该实际处理行 转换部分将写在由所述文件分割装置所分割的文件中的实际处理描述的语言转换成命令解释器语言。
3.根据权利要求1所述的文件转换装置,其中所述文件分割装置除了输出所述分割文 件之外,还输出通过优化所述语法树的所述树结构而获得的所述流程图。
4.根据权利要求1所述的文件转换装置,其中所述语法树优化装置将所述语法树优化 为其中固定了起点和终点的网络形式的所述流程图。
5.一种文件转换方法,用于将以给定语言编写的文件格式转换成能够由另一种语言解 释的文件格式,该方法包括逐行读取输入的文件的描述内容,并且通过对所读取的描述内容的每行添加索引来管 理该描述内容;通过线性扫描所述管理的文件的所述索引,基于该索引将所述描述内容转换成树结构 的语法树;根据优化规则,将所述语法树的所述树结构优化为流程图;以及通过将所述流程图中的控制符作为标识符,来分割所述输入的文件。
6.根据权利要求5所述的文件转换方法,还包括将写在所述分割文件中的实际处理描述的语言转换成命令解释器语言。
7.根据权利要求5所述的文件转换方法,还包括除了输出所述分割文件之外,还输出通过优化所述语法树的所述树结构而获得的所述 流程图。
8.根据权利要求5所述的文件转换方法,其中所述语法树被优化为其中固定了起点和 终点的网络形式的所述流程图。
9.一种文件转换装置,该文件转换装置将以给定语言编写的文件格式转换成能够由另 一种语言解释的文件格式,该装置包括文件读出手段,用于逐行读取输入的文件的描述内容,并且通过对所读取的描述内容 的每行添加索引来管理该描述内容;语法树创建手段,用于通过线性扫描由所述文件读出装置管理的文件的所述索引,基 于该索引将所述描述内容转换成树结构的语法树;语法树优化手段,用于根据优化规则,将所述语法树的所述树结构优化为流程图;以及文件分割手段,用于通过将由所述语法树优化装置所优化的所述流程图中的控制符作 为标识符来分割所述输入的文件。
全文摘要
本发明提供一种文件转换装置,其将以给定语言编写的文件格式转换成能够由另一种语言解释的文件格式,该装置包括文件读出装置,其行读取输入的文件的描述内容,并且通过对所读取的描述内容的每行添加索引来管理该描述内容;语法树创建装置,其通过线性扫描由所述文件读出装置管理的所述文件的所述索引,基于该索引将所述描述内容转换成树结构的语法树;语法树优化装置,其根据优化规则,将所述语法树的所述树结构优化为流程图;以及文件分割装置,其通过使由所述语法树优化装置所优化的所述流程图中的控制符作为标识符来分割所述输入的文件。
文档编号G06F17/22GK101887410SQ20101017301
公开日2010年11月17日 申请日期2010年5月11日 优先权日2009年5月11日
发明者高井真志 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1