2013-07-12 37 views
2

大多數現代編程語言提供一個方法來添加inline comments,通常那些使用換行符表示註釋的結束,以及任意分隔符或令牌序列來表示開始的評論,同時讓該行的開始部分爲解釋性指令。是否有可能加入聯註釋用Cobol

在COBOL中,雖然對整行進行評論有充分的文檔記錄(可以通過在第7列中加星號符號(*)來完成),找到關於是否可以評論行的其餘部分任意位置更難。

的問題是:你可以發表評論在COBOL的任意位置開始的行的休息嗎?

想象#是對這種評論的特殊字符,這裏是什麼seeked一個虛構的例子:

*--- This structure is a dummy example 
    01 MY-STRUCTURE. 
     05 MY-VARIABLE PIC X VALUE '-'. # Valid values are in {-, a, b} 
+0

我使用描述性名稱和相互排成一行。即使我能想到一個內聯評論的理由,也不會有空間。評論沒有被編譯。如果你想要「有效值」,做爲88級,並使用該級別進行實際驗證和/或準確的評論,將是我的建議。爲什麼「最現代的編程語言」?你有沒有關於這方面的文件,或者有什麼真正的理由來寫它? –

+0

[有沒有辦法在現代Cobol中寫評論?](http://stackoverflow.com/questions/29111670/is-there-a-way-to-write-comments-in-modern-cobol) –

回答

3

前的Cobol 2002否

2002年Cobol語言*>進行了介紹。看到Cobol 2002和搜索在線評論,這給這個例子:

05 Field-X Pic XX *> Used in calculating the current THINGY 
... 
MOVE ABC to XYZ *> Current-XYZ 
      LMN *> Saved XYZ 

還有其他一些例外

  • EXEC SQL - 最終Exec的。你可以使用一段SQL商販(例如甲骨文)的行註釋(/ * * /)。這不是真正的Cobol,而是一種嵌入式語言,通常通過預編譯器來實現。 Othere Exec End-exec語句也可以允許在線評論。
  • 的可能Cobols實現,使管線評論
  • 默認情況下,許多前期20002的Cobol編譯器進行的列僅看7〜72所以列1至6列任何71可容納的意見。
2

企業COBOL V5.1將支持在線評論

Release Highlights

推出浮動註釋指示符在程序文本區域企業COBOL針對z/OS,V5隨時隨地 創建註釋0.1介紹 浮動註釋指示符(「*>」)。

您可以在程序文本區域的任意位置指定它,以表明隨後的文本在一行上是 註釋行或行內註釋。

一個浮動註釋指示符 表示註釋行,如果它是在 程序文本區中的第一字符串(區域A加B區,柱8 - 72),或表示 內部註釋如果是後一個或多個字符串在 程序文本區域。

+2

企業COBOL只是COBOL的一個供應商實現。 V5.1只是將IBM Enterprise COBOL帶入COBOL 2002標準。最好說內聯評論是作爲COBOL 2002標準的一部分引入的,並且任何實現該標準的供應商(例如Microfocus)都將支持內聯評論。之前的COBOL標準不支持內嵌評論。 – NealB

2

不,但您可以編寫一個程序,以便在將代碼提交給編譯器時「寫」代碼。我們在20年前做到了這一點。例如

SOME COBOL CODE -- DOUBLE DASH INDICATES COMMENT TO END OF LINE 

然後編寫一個程序,查找雙破折號並刪除 - 和文本。 然後在你的編譯jcl中,輸入你的源代碼到程序,輸出到編譯器。簡單。使用INSPECT語句。

INSPECT LINE, TALLYING CHARACTERS BEFORE INITIAL "--". 
MOVE SPACES TO LINE(TALLY:), 

就是這樣。刪除註釋併發送給編譯器。

1

COBOL文檔。開放,免費。

而且在有限的時間,而它仍然是草案,並公開徵求意見

這最後一個環節幾乎可以保證在到期COBOL 20xx草案成爲已批准的ISO標準,除了來自ISO PL22 WG4來源之外,並非真正用於再分發。

COBOL支持FIXED和FREE源代碼格式。 FIXED年齡較大,基於80列卡片,序列號爲1至6,指令爲7,程序文本爲8至72。

第7列中的星號是COIXOL註釋行的FIXED形式。

OCOBOL* Sequence number field "OCOBOL" in this case, it can be anything 
     * and comment line indicator 

     *> inline comment, can be used for FREE format COBOL, as well as FIXED. 

有一招;將第7列中的星號放在第8列中的大於符號的位置,並且您有一條註釋行,該行可以在固定格式和自由格式COBOL中使用。

對於將按照草案20XX和

>> 

指令編譯器,另外還有一個竅門,以幫助固定/免費源代碼編譯的支持。

123456 
    >>D free format debug line directives 

如果d是在第7欄,與圖5和6這兩個更大thans,你已經混合不動和用於調試行免費源文本支持。

相關問題