dポイントプレゼントキャンペーン実施中!

文字処理に強いスクリプト言語を
学習を始めようとおもうのですが、

以下のような作業をする時に、
最適なスクリプト言語は何でしょうか?

(作業内容)
ソースコードの中から関数の引数と名前を
取得することをしたいです。

1) A(A1,A2)
2) A(B1,
B2)

1)では、1行に収まっているので、
 取得するのは容易なのですが、

2)では、改行があるので、少しだけ
 困難があります。

A 回答 (5件)

正規表現が使えればどんな言語でもかまいません。


Perlあたりが手軽でしょう。
Perlなら検索すればいくらでも参考になるものが
でて来るでしょうし。

正規表現 と 字句解析
あたりをキーワードにして検索してみてください。

ちなみに、その例だと
まぁ、ざっとですが簡単に・・・

関数定義 = 関数名 + 空白文字 + "(" + 空白文字 + パラメータ + 空白文字 + ")"
と定義し
関数名 = 1文字の半角英字 + 0文字以上の半角英数字
空白文字 = (半角スペース もしくは TAB文字 もしくは 改行文字)が0個以上
(以下はちょっと簡略化(というか手抜き))
パラメータ = 式をカンマで区切ったもの
式 = 変数名、数値、演算子、関数呼び出し が0個以上

などと定義し、
最初の関数定義 にマッチしたものを抽出する。
というような処理になるでしょう。

もっと確実にやりたいのなら
コメントアウトされた行は除外する、という判断も必要かもしれませんね。

詳しくは正規表現と字句解析を調べて勉強してみてください。
突き詰めれば本の一冊や二冊は書けるような代物です。

がんばってください。
    • good
    • 0

言語の学習はともかくとして



単純に関数の一覧を作りたいだけなら、タグ作成専用のツール(ctagsとかGNU Globalとか)が楽かも。

解析はツールにまかせて、出来上がったタグファイルをスクリプトで操作する、という方法もあるし。
    • good
    • 0

昔は文字列処理は正規表現が利用できるPerlって言われていたけど


今では多くの言語にも正規表現が移植されているから
正規表現が使える言語ならそれほど大差ない。

と言うわけで正規表現が使える言語ならどれでも良い。

で最近ではテキストエディタでも正規表現による検索や置換もできるようになっている物もあるので
正規表現が利用できるテキストエディタでもいいかもね。
    • good
    • 0

とりあえず Perl なり Ruby なりでどうだろうか.


Perl なら確実にできる. Ruby は触ってないけどたぶんできると思う.
    • good
    • 0

> 以下のような作業をする時に、


> 最適なスクリプト言語は何でしょうか?

普通のスクリプト言語は正規表現を扱えるので、何でもいいと思いますよ。
    • good
    • 0

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