用于pygments的cobol ibm大型机语法分析器

pygments-ibm-cobol-lexer的Python项目详细描述


=============================================
用于pygments的cobol ibm大型机语法分析器
=============================================
**此包包含用于大型机COBOL的Pygments Lexer。** < BR>
**lexer解析z/os的企业cobol方言(v3r4),包括利用嵌入式的db2/sql、cics和dli** < BR>
…_联机PygmentsXer:http://datim.fr/cobtools/Pygments/ < BR>
…内容::内容
:深度:5 < BR>
大型机COBOL编码表单
===========================
许多早期的编程语言,包括pl/1、fortran、cobol和各种ibm汇编语言,
仅使用80列卡的前7-72列 < BR>
+——+——+——+
列||
+==========+==========================================================================+
识别程序页或行的标记、备注或序列号|
+——+——+——+
7-``*``(星号)将整行指定为注释|
-``/```(斜杠)在打印源列表时强制换页|
-``-`(破折号)表示非数字文字的延续|
-``d``表示调试行COBOL语句|
+——+——+——+
8-72 COBOL程序语句,分为两个区域:|
-A区:第8列至第11列|
-B区:12至72列|
+——+——+——+
73-80标签、备注或序列号(通常是垃圾…)|
+——+——+—————————————————————————————————————————————————————————-+ < BR>
分区、节和段落名称都必须以区域A开头,以句点结尾。 < BR>
``cbl/process``指令语句可以从第1列到第70列开始 < BR>
安装
============
Lexer作为PIP包提供: < BR>
`$sudo pip安装pygments\u ibm\u cobol\u lexer`` < BR>
或使用简易安装: < BR>
`$sudo简易安装程序`` < BR>
用法
=====
安装后,ibmcobol lexer和ibmcobol样式会自动注册扩展名为".cbl"的文件。 < BR>
因此,使用命令行很容易:
+ASCII输入: < BR>
``pygmentize-o full,style=ibmcobol,encoding=latin1-o horreur.html horreur.ascii.cbl`` < BR>
+ebcdic输入(在这种情况下,需要指定outencoding值): < BR>
``pygmentize-o full,style=ibmcobol,encoding=cp1147,outencoding=latin1-o cob001.html cob001.cp1147.cbl`` < BR>
或作为库使用: < BR>
: < BR>
从pygments导入突出显示
从pygments.formatters导入htmlformatter
来自Pygments_IBM_Cobol_Lexer IM伊布科博莱塞尔港,伊布科博斯泰尔
我的代码=打开("cobol_ebcdic.cbl","rb").read()
突出显示(我的代码,ibmcobollexer(编码='cp1140'),
htmlformatter(style=ibmcobolstyle,full=true)
打开('test.html','w')) < BR>
还可以查看"pygments\u tests/"目录 < BR>
您可以在这里在线测试这个lexer:onlinepygmentslexer_ < BR>< BR>
关于CP1147
============
我有编码为ibm1147的文件(ebcdic法语+欧洲符号),我被迫编写自己的编解码器``cp1147`,非常接近``cp500``(加拿大、比利时),它在字符"@°{}¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ < BR>
此编解码器作为PIP包提供: < BR>
``$sudo pip安装cp1147`` < BR>
更改日志
=========
1.2-(2013年11月25日)
-重新排序cics/dli/sql中的变量、数字、运算符regex
-标记COBOL特殊寄存器
-已移除编解码器模块CP1147
-更改db2和cobol关键字
-如果编码在('cp037','cp297','cp1140','cp1047','cp1147','cp500')中,则将其管理为"拉丁-1" < BR>
1.1-(2012年11月19日)
次要修复+EBCDIC增强: < BR>
-修复:整数检测前浮点正则表达式检测
-添加内联commentaire``*>;``(不是IBM默认值)
-更改CICS/DLI关键字颜色…
-扩展cics_关键字,从cobol_关键字中删除弹出/跳过(视为注释)
-每个ascii输入行被填充到80列
-添加EBCDIC功能: < BR>
*添加我自己的法语编解码器cp1147
*如果通过或检测到ebcdic编码(cp500、cp1140,…),则将二进制输入的原始文本转换为80列固定行
*`` encoding=chardet``(缓慢)检测不到ebcdic图表,它被`` encoding=guess覆盖``
*"guess ebcdic"默认为"self.encoding="cp500"`` < BR>
1.0-(2012年11月12日)
初始版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java找不到当前线程的会话   同步Java同步方法调用非同步方法   这段代码的java时间复杂度是如何列出一个集合的所有子集的?   java Jetty SslConnectionFactory nextProtocol   为什么在java集合中使用游标而不是for循环   java如何对长函数进行单元测试?   如何从java中的文本输入创建数组   java工具栏内容未显示,尽管出现了片段内容   java MediaPlayer无法处理本地文件   java在多次读取时,从TCP服务器读取的数据将挂起   java组织。springframework。数据领域无法将PageImpl强制转换为   java如何使用@WithMockUser并从属性文件中传递用户名和密码?   JavaSpringBootGradle插件2。x如何使用自定义启动器布局工厂   sockets Java客户端和服务器之间使用字符串等进行通信的“行业标准”方法是什么   java变量引用不存在的资源:${project\u loc:project\u name}   搜索如何返回LDAP Java中所有用户的特定属性?   JDK1.8.016x的java密钥斗篷代理问题   spring如何使用Java中的Exchange获取邮件   java Kotlin+Dagger 2:Dagger*文件不会生成   如何在传入的double上执行操作,然后在Java中返回