CN101887410A - 文件转换装置、文件转换方法以及文件转换程序 - Google Patents
文件转换装置、文件转换方法以及文件转换程序 Download PDFInfo
- Publication number
- CN101887410A CN101887410A CN2010101730145A CN201010173014A CN101887410A CN 101887410 A CN101887410 A CN 101887410A CN 2010101730145 A CN2010101730145 A CN 2010101730145A CN 201010173014 A CN201010173014 A CN 201010173014A CN 101887410 A CN101887410 A CN 101887410A
- Authority
- CN
- China
- Prior art keywords
- file
- syntax tree
- index
- description content
- flow diagram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种文件转换装置,其将以给定语言编写的文件格式转换成能够由另一种语言解释的文件格式,该装置包括:文件读出装置,其行读取输入的文件的描述内容,并且通过对所读取的描述内容的每行添加索引来管理该描述内容;语法树创建装置,其通过线性扫描由所述文件读出装置管理的所述文件的所述索引,基于该索引将所述描述内容转换成树结构的语法树;语法树优化装置,其根据优化规则,将所述语法树的所述树结构优化为流程图;以及文件分割装置,其通过使由所述语法树优化装置所优化的所述流程图中的控制符作为标识符来分割所述输入的文件。
Description
对相关申请的相互参考
本发明基于并且要求2009年5月11日提交的日本专利申请No.2009-114854和2010年2月16日提交的日本专利申请No.2010-031408的优先权的利益,其整体公开通过引用结合于此。
技术领域
本发明涉及计算机的主机到开放系统的转变。更具体地,本发明涉及一种用于将主机所用的以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中存在例如语句“¥SUBJOB---¥ENDSUBJOB”的并行执行指令以及例如语句“¥WHEN---JUMP”语句(if---goto)的顺序控制指令。根据创建者的意图,那些指令可以频繁使用。图23是示出了其中频繁使用这样的并行执行指令和顺序控制指令的JCL文件的实例的说明图。
当如图23所示在JCL文件中频繁使用这样的并行执行指令和顺序控制指令的时候,难以从行号获取准确的顺序关系。从而,变得难以利用自动转换工具等将文件机械地转换成流程图。即使可以做到,也会产生低维护性的复杂作业网络。
因此,这种JCL文件到作业网络的转换主要由手动来进行。这需要很大的工作量,并且所创建的作业网络的质量取决于工人的技能。此外,这可能导致由于人为错误而产生的质量降低及其恢复操作而引起的成本增加。
如果JCL不包含并行执行指令或者顺序控制指令,那么可以容易地进行从JCL文件到作业网络的转换。因此,如果可以从JCL文件检测并行执行指令和顺序控制指令并创建流程图,并且可以通过排除并行执行指令或者顺序控制指令来分割JCL文件,那么可以克服上述问题。然而,上面提到的专利文献1至3没有公开这种用于分割JCL文件的技术,使得不能利用该专利文献1至3来克服该问题。
发明内容
本发明的示例性目的是提供一种文件转换装置、文件转换方法和文件转换程序,其能够通过高效地执行将JCL文件转换成作业网络来创建高维护性的简单作业网络。
为了实现上述示例性目的,根据本发明的示例性方面的文件转换装置是这样一种文件转换装置,其将以给定的语言编写的文件格式转换成能够被另一种语言解释的文件格式,并且该装置包括:文件读出装置,其逐行读取输入的文件的描述内容,并且通过对读取的描述内容的每一行添加索引来管理该描述内容;语法树创建装置,其通过线性扫描由文件读出装置所管理的文件的索引,基于该索引来将该描述内容转换成树结构的语法树;语法树优化装置,其根据优化规则来将语法树的树结构优化成流程图;以及文件分割装置,其通过使由语法树优化装置所优化的流程图中的控制符作为标识符来分割所述输入的文件。
为了实现上述示例性目的,根据本发明的另一个示例性方面的文件转换方法是这样一种文件转换方法,其用于将以给定的语言编写的文件格式转换成能够被另一种语言解释的文件格式,并且该方法包括:逐行读取输入的文件的描述内容,并且通过对该读取的描述内容的每一行添加索引来管理该描述内容;通过线性扫描所管理的文件的索引,基于该索引来将所述描述内容转换成树结构的语法树;根据优化规则将语法树的树结构优化成流程图;以及通过将流程图中的控制符作为标识符来分割所述输入的文件。
为了实现上述示例性目的,根据本发明的再一个示例性方面的文件转换程序是这样一种文件转换程序,其用于使得配置了将以给定的语言编写的文件格式转换成能够被另一种语言解释的文件格式的文件转换装置的计算机执行:逐行读取输入的文件的描述内容,并且通过对该读取的描述内容的每一行添加索引来管理该描述内容的功能;通过线性扫描所管理的文件的索引,基于该索引来将所述描述内容转换成树结构的语法树的功能;根据优化规则来将语法树的树结构优化成流程图的功能;以及通过将流程图中的控制符作为标识符来分割所述输入的文件的功能。
附图说明
图1是示出了根据示例性实施例的作业网络到流程(jobnetwork-to-flow)转换装置的结构的说明图;
图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逐行读取输入的文件的描述内容,并且通过对该读取的内容逐行添加索引101a来该管理描述内容。这将详细表述。
如图5所示,以作业控制语言(JCL)来编写文件21的描述内容,并且文件读出装置41以行为单元来执行如下所示的输入文件的描述内容的读出处理。
JCL指令行包括如下指令。
¥JOB:意为JCL描述的开始。
¥ENDJOB:意为JCL描述的结束。
¥SUBJOB:意为并行执行处理的描述的开始。
¥ENDSUBJOB:意为并行执行处理的描述的结束。
¥WAITSUB:意为等待指定的¥SUBJOB的结束。
¥WHEN_JUMP:意为在指定条件下跳(JUMP)到指定行。
¥WHEN_BACK:意为在指定条件下返回(BACK)到指定行。
如图5所示,文件读出装置41读取输入的JCL文件21的描述内容,为读取的描述内容的每一行添加索引101a,并且将描述内容作为具有索引的文件101a来管理。当管理连结于索引101a的描述内容时,文件读出装置41通过将JCL文件101存储到RAM 13中来管理所述内容,其中以读取的描述内容的行作为单元将索引101a添加在该JCL文件101中。
在图5的情况下,文件读出装置41将作为索引101a的“001”施加到“ST001:¥JOB”,该“ST001:¥JOB”是以行为单元从输入的JCL文件21读取的第一行上的描述内容;将作为索引101a的“002”施加到作为第二行的描述内容的“ACTUAL PROCESSING 1”;为从作为第三行上的描述内容的“¥WHEN_JUMP”到作为最后一行上的描述内容的“ST009:¥SUBJOB”的描述内容施加作为相应索引101a的“003”-“018”;并且将JCL文件21的描述内容作为编入索引的文件101来管理。图5中所示的JCL文件101示出了当文件读出装置41通过将索引101a施加到由该文件读出装置41自身以行为单位读出的描述内容来管理该描述内容的时候的文件的描述内容。
图7示出了图5中所示在RAM 13上的由文件读出装置41处理的具有索引的文件101的数据结构。如图7所示,在索引101a“001”-“018”分别与作为逐行读取的描述内容的字符串数据101b相对应的情况下,具有索引的文件101存储在RAM 13中。此外,如图7所示,使索引101a,“001”-“018”以线性连接的方式存储在RAM 13上,该索引101a,“001”-“018”是分别施加到描述内容的字符串数据101b的索引。
如图9所示,语法树创建装置42线性地扫描由文件读出装置41管理的文件101的索引101a,以将文件的每行中的描述内容(字符串数据101b)转换成以树结构的语法树102。“由语法树创建装置42线性地扫描文件101的索引101a”意味着,例如,以从图7所示的文件101的索引101a的“001”作为扫描起点到最后一个索引101a的“0018”的顺序来扫描该索引。
语法树创建装置42采用这样的规则,即,由于“¥SUBJOB”意为并行执行处理的起点,所以通过对应于“¥SUBJOB”而写作“parallel”;由于“¥WHEN_JUMP”(或BACK)意为在指定的条件下跳(或返回)到指定行,所以通过对应于“¥WHEN_JUMP”(或BACK)而写作“if”;在指定“¥WAITSUB”的情况下,由于“¥WAITSUB”意为等待“¥SUBJOB”的结束,所以通过对应于“¥WAITSUB”而写作“wait”;从而将索引文件101的描述内容转换成语法树102。
以与如上所述相同的方式,语法树创建装置42线性扫描由文件读出装置41管理的文件101的索引101a,以基于所述规则来编写文件的每一行描述内容之中的JCL指令行的描述内容和顺序控制指令的描述内容,并且通过使其与前述的编写表达相关联来将文件101的描述内容转换成树结构的语法树102。
在图9所示的情况中,语法树创建装置42基于编写表达规则,将显示有索引101a“001”的描述内容“ST001:¥JOB”写作“ROOT”,并将显示有索引101a“002”的描述内容“ACTUAL PROCESSING 1”写作对于“ROOT”的树结构。类似地,语法树创建装置42线性地扫描作为文件101的索引101a的“003”-“018”,以将施加有索引101a的描述内容(字符串数据101b)转换成树结构的语法树102。
在图9中所示的通过语法树创建装置42所转换的语法树102中,“ROOT”、“if”、“parallel”、“if”等是显示有索引101a“001”、“003”、“005”、“008”、“010”、“012”和“018”的描述内容(字符串数据101b)到语法树102的转换。此外,图9中所示的索引101a“002”、“004”、“007”、“009”、“011”、“013”和“014”-“017”是显示有文件101的“ACTUAL PROCESSING 1”至“ACTUAL PROCESSING 10”的描述内容(字符串数据101b)到语法树102的转换。
在上述方法中,语法树创建装置42通过线性扫描由文件读出装置401管理的文件101的索引101a,来将文件101的每行的描述内容(字符串数据101b)转换成树结构的语法树102,从而获得如图10中所示的树结构的语法树102。
图6示出了索引文件101与如图9所示在RAM 13上的由语法树创建装置42处理的语法树102的数据结构之间的关系。如图9中所示,语法树102构建为树结构的形式,该树结构具有的“ROOT”、“if”、“parallel”、“if”,作为根据所述规则表达指令行的索引,并具有“002”、“007”等,作为与字符串数据101b对应的索引101a。
由语法树创建装置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。
即,如图6所示,在索引101a所施加到的文件101的数据结构之中,语法树102的每层的数据串102a被建立为其中索引102a1位于顶部,然后排布左子要素(left)102a2或右子要素(right)102a3,在进一步排布施加有索引101a的字符串数据101b的行号(line)102a4的数据结构。这些数据串102a可以利用附图中用参考标号102b示出的语言来表达。索引101a1包括图6中所示的索引101a1以及例如图10中所示的“ROOT”、“if”、“parallel”、“wait”、“goto”、“END”等的索引。
如图8中所示,通过保持图10中所示的从作为索引101a1的分层“ROOT”的数据串102a到作为索引101a1的分层“END”的数据串102a的树结构的关系,语法树创建装置42将图6中所示的每层的数据串102a记录在RAM 13上。此外,如图8中所示,语法树创建装置42通过使数据串102a的行号(lines)102a4分别对应于作为每行的描述内容的字符串数据101b,而将该数据串102a的行号(lines)102a4记录在RAM 13上。
语法树优化装置43基于JCL的顺序规则和目标作业管理工具的流程特性来设定下面的优化规则。
规则1:以从叶节点到“ROOT”的顺序来进行优化。
规则2:仅当目标节点没有被锁定时,可以将“goto(nnn)”与属于同一父节点的节点“if”的分支上的节点“nnn”连接。注意,“(nnn)”和“nnn”意为索引101a中的“002”、“004”、“007”、“009”、“011”、“013”和“014”至“018”。
这应用于下文。
规则3:仅当目标节点没有被锁定时,可以将“wait(nnn)”与属于同一父节点的节点“parallel”的分支上的节点“nnn”连接。
规则4:可以将节点“END”补充到属于节点“parallel”的分支的叶节点。
规则5:可以将“goto(nnn)”转换到节点“nnn”至节点“END”的分支。
基于上述优化规则,语法树优化装置43将从语法树创建装置42输入的树结构的语法树102优化为流程图。基于图13至图18,将通过参考图10中所示的语法树102的情况来描述基于该优化规则由语法树优化装置43进行的语法树102的优化处理。在图13至图18中,“节点***”对应于图10中所示的包含在语法树102中的索引101a1中的“001”至“018”。此外,在图13至图18中,“ROOT”、“if”、“goto”、“parallel”、“wait”以及“END”对应于图10所示的包含在语法树102中的索引101a1中的“ROOT”、“if”、“goto”、“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中,“ROOT”、“if”、“parallel”、“wait”和“END”对应于包含在图10中所示的语法树102中的“ROOT”、“if”、“parallel”、“wait”和“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,其包括作为索引101a的“002”所施加到的行的字符串数据101b。
如图20中所示,当检测流程图22的控制符“if”和控制符“parallel”的时候,文件分割装置44识别存在于该控制符if”与“parallel”之间的索引“004”。在该识别的情况下,文件分割装置44将索引101a“004”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 2”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成为JOB2的分割文件23,其包括作为索引101a的“004”所施加到的行的字符串数据101b。
如图20中所示,当检测流程图22的控制符“parallel”和控制符“if”的时候,文件分割装置44识别存在于该控制符“parallel”与“if”之间的索引“009”。在该识别的情况下,文件分割装置44将索引101a“009”所施加到的JCL文件101的行的描述内容“ACTUALPROCESSING 4”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成为JOB3的分割文件23,其包括作为索引101a的“009”所施加到的行的字符串数据101b。
如图20中所示,当检测流程图22的控制符“if”和控制符“wait(007)”的时候,文件分割装置44识别存在于该控制符“if”与“wait(007)”之间的索引“011”。在该识别的情况下,文件分割装置44将索引101a“011”所施加到的JCL文件101的行的描述内容“ACTUALPROCESSING 5”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成为JOB4的分割文件23,其包括作为索引101a的“011”所施加到的行的字符串数据101b。
如图20中所示,当检测流程图22的控制符“wait(007)”和控制符“将if作为起点的网络的分叉点P1”的时候,文件分割装置44识别存在于该些控制符之间的索引“013、014、015”。在该识别的情况下,文件分割装置44将索引101a“013、014、015”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 6、7、8”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成为JOB5的分割文件23,其包括作为JCL文件101的索引101a的“013、014、015”所施加到的行的字符串数据101b。
如图20中所示,当检测流程图22的控制符“将if作为起点的网络的分叉点P1”和控制符“END”的时候,文件分割装置44识别存在于该些控制符之间的索引“016、017”。在该识别的情况下,文件分割装置44将索引101a“016、017”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 9、10”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成为JOB6的分割文件23,其包括作为JCL文件101的索引101a的“016、017”所施加到的行的字符串数据101b。
如图20中所示,通过使流程图22的控制符“END”作为起点,文件分割装置44检测控制符“parallel”,并然后检测与配置有索引101a“009、011、007、013、014、015、016、017”的网络平行的网络。在检测网络的时候,文件分割装置44识别存在于控制符“parallel”和控制符“END”之间的索引“007”。在该识别的情况下,文件分割装置44将索引101a“007”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 3”视为单个文件,并将其从该JCL文件101分割为个别文件。该分割的文件成为JOB7的分割文件23,其包括JCL文件101的作为该JCL文件101索引101a的“007”所施加到的的行的字符串数据101b。
如图20中所示,文件分割装置44通过使流程图22的控制符“END”作为起点来检测控制符“if”,该控制符“if”位于比控制符“parallel”更靠近控制符“START”的一侧上,然后检测与配置有索引101a“004、009、011、007、013、014、015、016、017”的网络平行的网络。在检测网络的时候,文件分割装置44识别存在于控制符“if”和控制符“END”之间的索引“014、015、016、017”。在该识别的情况下,文件分割装置44将索引101a“014、015、016、017”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 7、8、9、10”视为单个文件,并将其从JCL文件101分割为个别文件。该分割的文件成为JOB8的分割文件23,其包括JCL文件101的作为JCL文件101的索引101a的“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 JOB7”的索引101a写入在网络中并且作为分割的JOB文件的“JOB1”至“JOB8”写入在图19所示的网络中的流程图22a。“JOB1”至“JOB8”对应于上述分割文件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的描述内容,并通过将索引101a施加到所读取的描述内容的每一行,将描述内容作为具有索引的文件101a来管理。在图5的情况下,文件读出装置41将作为索引101a的“001”施加到从输入的JCL文件21以行为单位读取的第一行的描述内容“ST001:¥JOB”,将作为索引101a的“002”施加到作为第二行的描述内容的“ACTUAL PROCESSING 1”,为从第三行上的描述内容的“¥WHEN_JUMP”到最后一行上的描述内容的“ST009:¥SUBJOB”分别施加作为各索引101a的“003”-“018”,并且将JCL文件21的描述内容作为编入索引的文件101来处理。
如图11中所示,当接收由文件读出装置41管理的编入索引的文件101时,语法树创建装置42开始用于将文件101转换成树结构的语法树102的处理。这将具体描述。
如图9中所示,当语法树创建装置41线性扫描文件101的索引101a并搜索索引101a中的“001”时,语法树创建装置41创建语法树102的“ROOT”(图11的步骤S201),并将“ROOT”作为语法树102的起点。
然后,语法树创建装置41继续索引101a的扫描(图11的步骤S202),并判断索引101a中的“002”是否为“ENDJOB”(图11的步骤S203)。当判断为NO时,语法树创建装置41将“002”连接到“ROOT”来作为左子要素。进一步,语法树创建装置41继续扫描索引101a,并检测索引101a中的“003”。语法树创建装置41判断索引101a中的“003”是否为“WHEN JUMP”或“WHEN BACK”(图11的步骤S204)。
当判断出索引101a中的“003”为“WHEN JUMP”或“WHENBACK”时,语法树创建装置41将作为子节点的“if”添加到“002”的下一层(图11的步骤S211a),将指针移动到该“if”(图11的步骤S211b),并将作为子节点的“goto(nnn)”添加到“if”的下一层(图11的步骤S211c)。在该情况下,添加节点“goto(014)”和节点“004”。在结束上述处理之后,语法树创建装置41将处理切换到图11的步骤S202。
语法树创建装置41执行图11的步骤S203和S204的处理,并进一步判断是否存在新的控制符“SUBJOB”(图11的步骤S205)。当判断出存在控制符“SUBJOB”时,语法树创建装置41添加“parallel(nnn)”作为子节点(图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”(图11的步骤S211b),并添加“parallel(016)”作为子节点(图11的步骤S211c)。
语法树创建装置41将处理切换到图11的步骤S206,来判断是否存在控制符“ENDSUBJOB”。当判断出存在控制符“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基于编写表达规则来将显示有索引101a中的“001”的描述内容“ST001:¥JOB”表达为“ROOT”,并将显示有索引101a中的“002”的描述内容“ACTUAL PROCESSING 1”表达为树结构。类似地,语法树创建装置41线性扫描作为文件101的索引101a的“003”至“018”,以将索引101a所施加到的描述内容(字符串数据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将索引101a“002”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 1”视为单个文件,并将其从JCL文件101分割为个别文件。
如图20中所示,当检测流程图22的控制符“if”和控制符“parallel”的时候,文件分割装置44识别存在于该些控制符之间的索引“004”。在该识别的情况下,文件分割装置44将索引101a“004”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 2”视为单个文件,并将其从JCL文件101分割为个别文件。
如图20中所示,当检测流程图22的控制符“parallel”和控制符“if”的时候,文件分割装置44识别存在于该些控制符之间的索引“009”。在该识别的情况下,文件分割装置44将索引101a“009”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 4”视为单个文件,并将其从JCL文件101分割为个别文件。
如图20中所示,当检测流程图22的控制符“if”和控制符“wait(007)”的时候,文件分割装置44识别存在于该些控制符之间的索引“011”。在该识别的情况下,文件分割装置44将索引101a“011”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 5”视为单个文件,并将其从JCL文件101分割为个别文件。
如图20中所示,当检测流程图22的控制符“wait(007)”和控制符“将if作为起点的网络的分叉点P1”的时候,文件分割装置44识别存在于该些控制符之间的索引“013、014、015”。在该识别的情况下,文件分割装置44将索引101a“013、014、015”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 6、7、8”视为单个文件,并将其从JCL文件101分割为个别文件。
如图20中所示,当检测流程图22的控制符“将if作为起点的网络的分叉点P1”和控制符“END”的时候,文件分割装置44识别存在于该些控制符之间的索引“016、017”。在该识别的情况下,文件分割装置44将索引101a“016、017”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 9、10”视为单个文件,并将其从JCL文件101分割为个别文件。
如图20中所示,通过使流程图22的控制符“END”作为起点,文件分割装置44检测控制符“parallel”,并然后检测与配置有索引101a“009、011、007、013、014、015、016、017”的网络平行的网络。在检测网络的时候,文件分割装置44识别存在于控制符“parallel”和控制符“END”之间的索引“007”。在该识别的情况下,文件分割装置44将索引101a“007”所施加到的JCL文件101的行的描述内容“ACTUAL PROCESSING 3”视为单个文件,并将其从JCL文件101分割为个别文件。
如图20中所示,文件分割装置44通过使流程图22的控制符“END”作为起点来检测控制符“if”,该控制符“if”位于比控制符“parallel”更靠近控制符“START”的一侧上,并然后检测与配置有索引101a“004、009、011、007、013、014、015、016、017”的网络平行的网络。在检测网络的时候,文件分割装置44识别存在于控制符“if”和控制符“END”之间的索引“014、015、016、017”。在该识别的情况下,文件分割装置44将索引101a“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文件转换成作业网络。因此,本发明对于进行从计算机系统的主机到开放系统的转变是极为有效的。
Claims (9)
1.一种文件转换装置,该文件转换装置将以给定语言编写的文件格式转换成能够由另一种语言解释的文件格式,该装置包括:
文件读出装置,该文件读出装置逐行读取输入的文件的描述内容,并且通过对所读取的描述内容的每行添加索引来管理该描述内容;
语法树创建装置,该语法树创建装置通过线性扫描由所述文件读出装置管理的文件的所述索引,基于该索引将所述描述内容转换成树结构的语法树;
语法树优化装置,该语法树优化装置根据优化规则,将所述语法树的所述树结构优化为流程图;以及
文件分割装置,该文件分割装置通过将由所述语法树优化装置所优化的所述流程图中的控制符作为标识符,来分割所述输入的文件。
2.根据权利要求1所述的文件转换装置,还包括实际处理行转换部分,该实际处理行转换部分将写在由所述文件分割装置所分割的文件中的实际处理描述的语言转换成命令解释器语言。
3.根据权利要求1所述的文件转换装置,其中所述文件分割装置除了输出所述分割文件之外,还输出通过优化所述语法树的所述树结构而获得的所述流程图。
4.根据权利要求1所述的文件转换装置,其中所述语法树优化装置将所述语法树优化为其中固定了起点和终点的网络形式的所述流程图。
5.一种文件转换方法,用于将以给定语言编写的文件格式转换成能够由另一种语言解释的文件格式,该方法包括:
逐行读取输入的文件的描述内容,并且通过对所读取的描述内容的每行添加索引来管理该描述内容;
通过线性扫描所述管理的文件的所述索引,基于该索引将所述描述内容转换成树结构的语法树;
根据优化规则,将所述语法树的所述树结构优化为流程图;以及
通过将所述流程图中的控制符作为标识符,来分割所述输入的文件。
6.根据权利要求5所述的文件转换方法,还包括:
将写在所述分割文件中的实际处理描述的语言转换成命令解释器语言。
7.根据权利要求5所述的文件转换方法,还包括:
除了输出所述分割文件之外,还输出通过优化所述语法树的所述树结构而获得的所述流程图。
8.根据权利要求5所述的文件转换方法,其中所述语法树被优化为其中固定了起点和终点的网络形式的所述流程图。
9.一种文件转换装置,该文件转换装置将以给定语言编写的文件格式转换成能够由另一种语言解释的文件格式,该装置包括:
文件读出手段,用于逐行读取输入的文件的描述内容,并且通过对所读取的描述内容的每行添加索引来管理该描述内容;
语法树创建手段,用于通过线性扫描由所述文件读出装置管理的文件的所述索引,基于该索引将所述描述内容转换成树结构的语法树;
语法树优化手段,用于根据优化规则,将所述语法树的所述树结构优化为流程图;以及
文件分割手段,用于通过将由所述语法树优化装置所优化的所述流程图中的控制符作为标识符来分割所述输入的文件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009114854 | 2009-05-11 | ||
JP2009-114854 | 2009-05-11 | ||
JP2010-031408 | 2010-02-16 | ||
JP2010031408A JP2010287213A (ja) | 2009-05-11 | 2010-02-16 | ファイル変換装置、ファイル変換方法およびファイル変換プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101887410A true CN101887410A (zh) | 2010-11-17 |
CN101887410B CN101887410B (zh) | 2014-07-02 |
Family
ID=43063138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010173014.5A Expired - Fee Related CN101887410B (zh) | 2009-05-11 | 2010-05-11 | 文件转换装置、文件转换方法以及文件转换程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8640111B2 (zh) |
JP (1) | JP2010287213A (zh) |
CN (1) | CN101887410B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207884A (zh) * | 2011-06-02 | 2011-10-05 | 深圳市茁壮网络股份有限公司 | 一种文件编译方法及装置 |
CN102750266A (zh) * | 2011-03-28 | 2012-10-24 | 微软公司 | 管理文件转换的技术 |
CN108664314A (zh) * | 2017-03-29 | 2018-10-16 | 香港城市大学 | 大数据处理流程模块化管理方法及装置 |
CN112181435A (zh) * | 2020-09-24 | 2021-01-05 | 中国建设银行股份有限公司 | 一种跨平台的作业转换方法、装置、电子设备和存储介质 |
CN112269593A (zh) * | 2016-05-19 | 2021-01-26 | 特脉克斯软件株式会社 | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789058B2 (en) * | 2011-03-25 | 2014-07-22 | Oracle International Corporation | System and method for supporting batch job management in a distributed transaction system |
US9483324B2 (en) * | 2012-06-26 | 2016-11-01 | Nec Corporation | Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme |
IN2014MU00435A (zh) | 2014-02-06 | 2015-09-25 | Tata Consultancy Services Ltd | |
KR20160078032A (ko) * | 2014-12-24 | 2016-07-04 | 삼성전자주식회사 | 전자 설계 자동화를 위한 장치 및 방법 |
US9836305B1 (en) * | 2015-03-18 | 2017-12-05 | Misys Global Limited | Systems and methods for task parallelization |
US10534640B2 (en) * | 2017-03-24 | 2020-01-14 | Oracle International Corporation | System and method for providing a native job control language execution engine in a rehosting platform |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039173A1 (en) * | 2001-05-11 | 2005-02-17 | Tondreau David L. | Method and apparatus for transforming legacy software applications into modern object-oriented distributed systems |
US20060236224A1 (en) * | 2004-01-13 | 2006-10-19 | Eugene Kuznetsov | Method and apparatus for processing markup language information |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07248915A (ja) | 1994-03-09 | 1995-09-26 | Fujitsu Ltd | プログラム解析装置 |
JPH0816378A (ja) | 1994-06-30 | 1996-01-19 | Fujitsu Ltd | プログラム・リバース解析方法および装置 |
US5768564A (en) * | 1994-10-07 | 1998-06-16 | Tandem Computers Incorporated | Method and apparatus for translating source code from one high-level computer language to another |
JP3251203B2 (ja) | 1997-06-27 | 2002-01-28 | エヌイーシーシステムテクノロジー株式会社 | Jclプログラム変換装置、jclプログラム変換方法、および、記録媒体 |
US6651241B1 (en) * | 1999-09-29 | 2003-11-18 | Lucent Technologies Inc. | Scriptor and interpreter |
JP4377704B2 (ja) * | 2003-01-24 | 2009-12-02 | 株式会社東芝 | フローデータ生成方法およびフローデータ生成装置 |
US20050251812A1 (en) * | 2004-04-27 | 2005-11-10 | Convertabase, Inc. | Data conversion system, method, and apparatus |
US20090138491A1 (en) * | 2007-11-28 | 2009-05-28 | Sandeep Chowdhury | Composite Tree Data Type |
-
2010
- 2010-02-16 JP JP2010031408A patent/JP2010287213A/ja not_active Withdrawn
- 2010-05-04 US US12/773,359 patent/US8640111B2/en not_active Expired - Fee Related
- 2010-05-11 CN CN201010173014.5A patent/CN101887410B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039173A1 (en) * | 2001-05-11 | 2005-02-17 | Tondreau David L. | Method and apparatus for transforming legacy software applications into modern object-oriented distributed systems |
US20060236224A1 (en) * | 2004-01-13 | 2006-10-19 | Eugene Kuznetsov | Method and apparatus for processing markup language information |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750266A (zh) * | 2011-03-28 | 2012-10-24 | 微软公司 | 管理文件转换的技术 |
CN102750266B (zh) * | 2011-03-28 | 2017-05-03 | 微软技术许可有限责任公司 | 管理文件转换的技术 |
CN102207884A (zh) * | 2011-06-02 | 2011-10-05 | 深圳市茁壮网络股份有限公司 | 一种文件编译方法及装置 |
CN112269593A (zh) * | 2016-05-19 | 2021-01-26 | 特脉克斯软件株式会社 | 转换排序脚本以在不同编码环境下重用jcl的方法和装置 |
CN108664314A (zh) * | 2017-03-29 | 2018-10-16 | 香港城市大学 | 大数据处理流程模块化管理方法及装置 |
CN108664314B (zh) * | 2017-03-29 | 2023-10-13 | 香港城市大学 | 大数据处理流程模块化管理方法及装置 |
CN112181435A (zh) * | 2020-09-24 | 2021-01-05 | 中国建设银行股份有限公司 | 一种跨平台的作业转换方法、装置、电子设备和存储介质 |
CN112181435B (zh) * | 2020-09-24 | 2024-02-23 | 中国建设银行股份有限公司 | 一种跨平台的作业转换方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20100287540A1 (en) | 2010-11-11 |
CN101887410B (zh) | 2014-07-02 |
JP2010287213A (ja) | 2010-12-24 |
US8640111B2 (en) | 2014-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101887410B (zh) | 文件转换装置、文件转换方法以及文件转换程序 | |
US11288557B2 (en) | Long running workflows for document processing using robotic process automation | |
US20160110190A1 (en) | Web Client Command Infrastructure Integration into a Rich Client Application | |
CN104123227A (zh) | 一种自动生成测试用例的方法 | |
CN102521218B (zh) | 文件合成方法及装置 | |
CN101593294A (zh) | 动态配置工作流的方法和系统 | |
US20080300706A1 (en) | System and method for real-time system control using precomputed plans | |
CN111930357B (zh) | 一种可视化建模作业流调度引擎的构建方法 | |
US20200342025A1 (en) | Interactive and non-interactive execution and rendering of templates to automate control and exploration across systems | |
CN105718307B (zh) | 进程管理方法及进程管理装置 | |
CN113312033A (zh) | 一种模板化的协议生成、管理方法 | |
CN111208995A (zh) | Ibm主机作业的自动生成方法、系统、装置及存储介质 | |
CN112579287A (zh) | 一种基于读写分离及自动伸缩的云编排系统及方法 | |
WO2023087721A1 (zh) | 一种业务处理模型生成方法、装置、电子设备和存储介质 | |
CN114675875A (zh) | 一种共享组件发布方法、装置、设备及介质 | |
Cunha et al. | Context-aware execution migration tool for data science Jupyter Notebooks on hybrid clouds | |
WO2010064317A2 (ja) | 運用管理支援プログラム、該プログラムを記録した記録媒体、運用管理支援装置、および運用管理支援方法 | |
Kitzmann et al. | A simple algorithm for automatic layout of bpmn processes | |
CN112068841A (zh) | 一种自动生成项目流程文档的方法及系统 | |
KR102518772B1 (ko) | 수집 데이터 자동 처리를 위한 데이터 적재 프로파일링 장치 및 방법 | |
CN116450246A (zh) | 一种基于状态机的事件流转可配置方法 | |
CN106302125A (zh) | 一种对请求信息进行响应的方法、装置及系统 | |
CA2605281A1 (en) | System and method for increasing usage of recycling in manufacturing processes | |
CN101196920B (zh) | 基于引用关系的文件配置管理方法和装置 | |
CN108062220B (zh) | 一种快速构建信息系统软件的构架 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140702 Termination date: 20150511 |
|
EXPY | Termination of patent right or utility model |