COBOL插件报告解析错误

COBOL插件报告解析错误,cobol,Cobol,我们的团队正在为各种语言(java、pl/sql、C、C++)运行SonarQube实例 最近,我们被要求对COBOL代码进行代码质量分析 我们从开发团队收到了一些COBOL代码,并运行了Jenkins的工作 但是,在分析过程中,我们看到一些解析错误 其次,根据分析,未发现任何问题 这是我们第一次在分析中没有遇到任何问题,因此我们有些怀疑,并怀疑COBOL代码是否以正确的方式进行了解析 仅供参考,我们自己没有任何COBOL背景 我已经在下面粘贴了分析过程中显示的一些错误 最后,分析报告:09:0

我们的团队正在为各种语言(java、pl/sql、C、C++)运行SonarQube实例

最近,我们被要求对COBOL代码进行代码质量分析

我们从开发团队收到了一些COBOL代码,并运行了Jenkins的工作

但是,在分析过程中,我们看到一些解析错误

其次,根据分析,未发现任何问题

这是我们第一次在分析中没有遇到任何问题,因此我们有些怀疑,并怀疑COBOL代码是否以正确的方式进行了解析

仅供参考,我们自己没有任何COBOL背景

我已经在下面粘贴了分析过程中显示的一些错误

最后,分析报告:09:01:51.131 INFO-2/2文件进行了分析,但由于我们不是COBOL专家,我们想知道代码是否被正确地分析了

详细信息:

  • COBOL插件:1.17
  • 声纳qube:3.7.3
我们向开发团队提出的问题:

  • Cobol方言(例如:Cobol-2002、microfocus、acucobol、tandem、gcos): 串联/不间断COBOL85-T9257H01-(2009年3月15日)、SCOBOLX屏幕COBOL-T0528H01-(2009年2月1日)和ECOBOL(与COBOL85相同,但系统过程调用不同)
  • 文件名结构是什么(例如:myfile.cob): \系统.$vol.subvol.filename例如。\tdsdev.$dvs010.tdsrcdgs.gss2211
  • 源格式(例如:固定格式或自由格式。在固定格式中,有左右边距。在自由格式中,没有边距,第1列中应显示指示器区域): 免费的
  • 如果格式固定,选项卡宽度是多少?制表符(“”)的扩展空格数: 不,这是免费的
  • 您是否使用复印机,如果是,文件扩展名是什么?(cpy,cbl?): 是的,我们确实使用文案。串联文件名始终具有相同的格式:\system.$vol.subvol.filename
分析错误 *预处理内容:

Parse error at line 279:
  279:  01 MISCELLANEOUS-LITERALS .
       ^
  283:  05 L-ERROR-SIZE-ERROR PIC S9 ( 4 ) COMP VALUE 1 .
  284:  05 L-ERROR-CONTRACT-ORDER PIC S9 ( 4 ) COMP VALUE 2 .
  285:  05 L-ERROR-ORDER-SUBS-TRAFFIC PIC S9 (*
Parse error at line 55:
   55:  01 LITERALS .
       ^
   56:  02 L-NO-CONTEXT-FOUND PIC 9 ( 4 ) COMP VALUE 5 .
   57:  02 L-ERROR-REQUEST-CODE PIC 9 ( 4 ) COMP VALUE 14 .
   58:  02 L-ERROR-READ-FIRST PIC 9 (
09:01:51.124 ERROR - Unable to parse COBOL source file : /home/ecbbuild/cobol/dvs010.tdsrcdgs.gsu2001l at line 279
Original contents starting from line 259 till line 299:
*                       48 : dependent end-pay
*
*                       When items is produced by ENDPAY request,
*                       50 is added to the values above
*
*    Encoding of internal-sort, when usage-plan discounts:
*
*       99PPPPPPPPQQQQQQFF
*       PPPPPPPP        Usage-plan-product-nr from line-total-adjust
*       QQQQQQ          First-start-date converted to georgian date,
*       FF              Usage-plan-display-aggregate-flag N=1, Y=2, D=3
*
*    Encoding of internal-sort, when information-item-type:
*
*       00PPPPPPPPYYYYMMDD
*       PPPPPPPP        product-reference-code OF inv-item-table
*       YYYYMMDD        item-from-date         OF inv-item-table
*
*预处理内容:

Parse error at line 279:
  279:  01 MISCELLANEOUS-LITERALS .
       ^
  283:  05 L-ERROR-SIZE-ERROR PIC S9 ( 4 ) COMP VALUE 1 .
  284:  05 L-ERROR-CONTRACT-ORDER PIC S9 ( 4 ) COMP VALUE 2 .
  285:  05 L-ERROR-ORDER-SUBS-TRAFFIC PIC S9 (*
Parse error at line 55:
   55:  01 LITERALS .
       ^
   56:  02 L-NO-CONTEXT-FOUND PIC 9 ( 4 ) COMP VALUE 5 .
   57:  02 L-ERROR-REQUEST-CODE PIC 9 ( 4 ) COMP VALUE 14 .
   58:  02 L-ERROR-READ-FIRST PIC 9 (
09:01:51.124 ERROR - Unable to parse COBOL source file : /home/ecbbuild/cobol/dvs010.tdsrcdgs.gsu2001l at line 279
Original contents starting from line 259 till line 299:
*                       48 : dependent end-pay
*
*                       When items is produced by ENDPAY request,
*                       50 is added to the values above
*
*    Encoding of internal-sort, when usage-plan discounts:
*
*       99PPPPPPPPQQQQQQFF
*       PPPPPPPP        Usage-plan-product-nr from line-total-adjust
*       QQQQQQ          First-start-date converted to georgian date,
*       FF              Usage-plan-display-aggregate-flag N=1, Y=2, D=3
*
*    Encoding of internal-sort, when information-item-type:
*
*       00PPPPPPPPYYYYMMDD
*       PPPPPPPP        product-reference-code OF inv-item-table
*       YYYYMMDD        item-from-date         OF inv-item-table
*


我的猜测是:确保您按照提供的方式处理代码,包括前导空格。COBOL不是自由格式(至少不是在COBOL 2002之前),因此位置非常重要-标记注释的星号必须在第7列等处。

没有“COBOL”这样的东西。特定的编译器为特定的机器定义了特定的方言。你怎么知道,你喂给Jenkins的COBOL(?(一定有你正在运行的特定工具)与该工具兼容?我提出这个问题是因为你说你对COBOL一无所知。你也没有清楚地展示一个不解析的小COBOL程序,以及你得到的具体解析错误。为什么不呢?您是否注意到您的COBOL团队的响应,以及与之相关的行动?您的分析似乎是预期的固定格式,他们使用的是自由格式。还要注意,它们使用三种不同的“COBOL”。您是否有权从您的包裹中访问Tandem?除非您的软件包非常神奇,否则我怀疑您必须预处理copybook的源代码,并注意工件(如?部分)。不,你的包裹里绝对有猪早餐。