これからの季節に親子でハイキング! >>

メインフレームとVB.NETの両方をご存知の方にお尋ねします。
メインフレーム上のPL/IプログラムをWindowsサーバ上にて、
テキストファイルにして保存してあります。
このPL/Iソースをいろんな角度から解析したいのですが、
コメント部分が邪魔なので削除したいです。
VB.NETの正規表現を使ったら上手にできるでしょうか?
またできるのであれば、そのロジック(ソース)をご教示願いたく
存じます。
PL/Iのコメントは、「/*」と「*/」で囲まれた範囲で、
複数行にわたることが可能です。
 ⇒n行目に「/*」があり、n+m行目に「*/」がある場合、
  n行目からn+m行目まですべてがコメント扱いとなる。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

PL/I のコメントについて軽く調べてみたところ、要するに C 言語のコメントとおなじ形式のようですから、一からプログラミングせずにフリーソフトで C のコメント削除するものを探した方が速いと思いますよ。


http://search.vector.co.jp/vsearch/vsearch.php?k …
というか、上記の Vector 検索結果の中に言語を問わないコメント除去ソフトが混じってますね。

……でも、ソース内容のヒントになるだろうにコメントをなんで除去するんだろう。開いたときにコメントとして表示されないからコード本体と見分けがつかないというなら、エディタのPL/Iファイルの拡張子に対する設定でコメントとして表示するようにしてやればいいのに……
    • good
    • 0
この回答へのお礼

早速のアドバイスありがとうございます。
ご提示いただいたvectorの検索結果を確認してみます。

コメントを除去する理由ですが。。。。
プログラムの中で、どんなサブルーチンを呼び出しているか、
どんなCopy-bookを使用しているか、さらにはどんな変数を
使用しているか、などを調査するためです。
コメント内部にも同様のワードが含まれている可能性は、
十分にあり、ワード検索した時にコメント内もひっかけて
しまうのを避けるためです。

お礼日時:2014/11/20 11:44

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPL/Iについて教えてください

簡単にいうとCOBOLとPL/Iの違いってなんですか?
IBMが開発したものだとものでCOBOLやfortranのいいとこどりをしたような言語という認識があるのです。
人によっと認識がまちまちでcobolのソースだったとう人もいれば全く別ものという人もあり。
実際どうなの?というのが質問です。
初心者ですが、よろしくお願いします。

Aベストアンサー

これは可也旧い言語です。多分、旧い資産の手入れ以外に使う人もいないだろうと思います。
PL/Iと云う名称ですが、プログラム・ランゲーヂ・ナムバーワンの頭文字の略です。
当時一般的の言語は、科学技術計算用のフォートランと、事務計算用のコボルしかありませんでした。そこでIBMのユーザ会(米州)で、両方の需要に応える言語を拵えさせたものがこれです。当時としては色々の事が出来る反面、当時としては相当のリソースを要求したため、オフコンクラスでは使えませんでした。
フォートランやコボルのソースと云うのは全くの記憶違いか、その方のお使いだったマシンの特殊事情でしょう。別物です。
現在新たの需要が出てくるとは思えません。

QALGOL・PL/Iのフリーのコンパイラ、学習向けサイトを教えて下さい

ALGOL・PL/Iのフリーのコンパイラ、学習向けサイトを教えて下さい。


はじめまして。よろしくお願いします。

ALGOL・PL/Iのフリーのコンパイラ、学習向けサイトを教えて下さい。

現在、仕事の都合でPL/Iのを勉強しています。
PL/IはCOBOL・FORTRAN・ALGOLを組み合わせたものということで、3つの言語も勉強しています。
ネットで探したところ、COBOL・FORTRANはコンパイラと学習向けサイトがありましたが、PL/I・ALGOLは芳しい情報はありませんでした。(IBMのPL/Iのマニュアルくらいでした…。)

コンパイラについては、Windows環境(Windows XP)、Linux環境(fedora10)どちらでもいいです。

どうか宜しくお願いします。

Aベストアンサー

以前探したことがありますが、見つかってません。
#2の方がお書きのようにAlgol68のコンパイラはありますが、PL/Iとの関係はない。

PL/I = Algol60をベースに、Fortran風の見栄えにして、COBOLで出来ることも出来るように取り込んで、さらにシステムを記述する機能も追加したもの

です。
ただ、実際に使っている現場では、「高機能なFortran」「高機能なCOBOL」として使われているのがほとんどだと思うので、Fortran, Cobolの勉強をした上で、IBMのマニュアルを通読すれば十分だと思いますよ。

FortranもCobolもPL/Iに取り込まれた時点よりすごく進歩しているので、現時点からPL/Iを振り返ると古くさい言語になっています。

QEXCELの文字列操作で文字数不足の分をスペースで補う方法

EXCELの文字データを取り出す際に以下のような操作を行いたいんですが、方法をご存知の方がいらっしゃいましたら教えていただけませんでしょうか。

既にデータの入力されているセルの文字数が、ある一定数に満たない場合は不足分を半角スペースで補う

【例】文字数を15と指定したとします
セルに入力されたデータ:山田_ 太郎
   ↓
求めたいデータ:山田_ 太郎_ _ _ _ _ _
(山田の後に半角スペースが1、太郎の後に半角スペースが6つ入っていると仮定してください)

※TEXT関数で数値の文字数不足分を0で埋めるということはできたのですが、TEXT関数は数値のみを対象としているようで・・・。
【例】12345 → 000000000012345

よろしくお願いいたします。

Aベストアンサー

A1に「山田 太郎」が入っている場合、
 =LEFTB(A1&REPT(" ",15),15)
と式を立てればOKです。

LEFBは、左側から指定バイト分(半角1バイト・全角2バイト)を抜き出す関数。
REPTは、所定の文字をくり返す関数です。

Q【Excel】 セルの色での判断はできますか?

使用環境:Office2003

条件付書式を使用して、セルの値がxxならばセルを着色する・フォントを変える、というのは可能ですが、

逆に

セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する

ということは可能でしょうか?
※VBAを使わなければそれにこしたことはないですが、
 必要ならばコーディングも教えてください

よろしくお願いします。

Aベストアンサー

過去の質問を検索していただくと、たくさんの事例がありますが、結論から言うとVBAを使用しないとセルの色は取得できません

>セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する
VBAを使用すればもちろんできますが、これは「例えば」の質問であって、このコードを書いても意味はないのでは?

ですから汎用的に使えるユーザ定義関数にしました。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。
ワークシート画面に戻って、適当なセルに
=CellColor(A1)
と入力してみて下さい。A1セルの色番号が表示されます。(背景色なしの場合は0が返ります)
この戻り値判定して、関数などでセルに値をセットすればよいでしょう

Function CellColor(ByVal rng As Range)
With rng.Cells(1, 1).Interior
If .ColorIndex = xlNone Then
CellColor = 0
Else
CellColor = .ColorIndex
End If
End With
End Function

ただしセルの背景色を後から変えても、ユーザ定義関数の戻り値は自動的には変わりません。式を入力した後で背景色を変更した場合は
 ALT+Ctlr+F9
で強制再計算させる必要があります。

過去の質問を検索していただくと、たくさんの事例がありますが、結論から言うとVBAを使用しないとセルの色は取得できません

>セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する
VBAを使用すればもちろんできますが、これは「例えば」の質問であって、このコードを書いても意味はないのでは?

ですから汎用的に使えるユーザ定義関数にしました。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて...続きを読む

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。


人気Q&Aランキング