質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

3回答

4193閲覧

C#を用いたANTLRの解説サイトなど

madakko

総合スコア10

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2015/11/10 23:15

初めて質問させていただきます。

C#を用いたANTLRについて、日本語の解説サイトなどが少ない事に疑問を感じています。

とあるマークアップ言語ファイルのパーサをC#.NETで作っている時に、ANTLRというパーサジェネレータを知りました。

Visual Studioの拡張機能とnugetからすぐに導入でき、grammerファイルの作成も単純なものなら簡単に書け、とても便利だと感じました。

しかし、私が検索した限りだと、C#を用いたANTLRの解説サイトが少ないように感じました。

GPLなので商用なども、ANTLRのソースコードを変えない限り著作権表示など必要なく、使いやすいと思うのですが、なぜこんなにC#での解説サイトが少ないのでしょうか。

何か他に大きな問題(特に商用利用に関して)があるのか、不安になります。
恐れ入りますが、何か問題などがあるようでしたらお教え頂ければ幸いです。

どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

推測に基づいた内容で恐縮ですが、参考程度に受け留めてください。

C#を用いたANTLRの解説サイトが少ない

というのは、恐らく 文化 のせいだと思います。

Wikipediaの ANTLR のページからの引用になりますが

IntelliJ IDEA、Eclipse、NetBeans、Microsoft Visual Studio 向けに ANTLR の文法をサポートするプラグインがいくつか存在する。商用製品の ANTLR Studio for Eclipse や ANTLR 4 IDE などがある。

つまり、ANTLR は商用目的でもそれなりに需要があるということなので、たまたまC#関連の日本語の解説が少ないからといって

何か他に大きな問題(特に商用利用に関して)があるのか、不安になります。

とご心配なさるには及びません。

ちなみに、現在のライセンスは、BSD の様です。(http://www.antlr.org/license.html

さて本題に戻りますが、ご存知かと思いますけれども、構文解析技術はコンピュータ科学の中ではかなり古く 1950-60年代には盛んに研究されていた分野です。またパーサジェネレータの先駆けである yacc も1970年代に開発されました。

ですから、この分野はC#よりも遥かに歴史が古い訳で、その道のエキスパートは他の言語に慣れ親しんでいた、あるいはC#が一般的になった時点ではANTLRの使い方自体に関する説明は既に十分であり、後は言語間の差異を 読み替えるだけ の状態だった、もしくは理論的に難しい分野なので敢えて既存の解説と異なる言語で利用しようとする人が少なかったなど、いろいろな理由が推察されます。

そうした文化的な(=特定の技術分野に特有の) 背景 を思い巡らせば、「C#による利用例の日本語の解説」が少ないのも、むしろ当然なことだと思います。

投稿2015/11/11 00:55

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

madakko

2015/11/11 08:52

構文解析の背景なども含め、詳しいご回答ありがとうございます。 その歴史の長さゆえから来るご説明はとても納得が行きました。 確かに昔から存在する言語での解説なら、多く存在していると感じます。 私個人での調査した結果と本質問の回答をあわせて考えた限りでは、安心してANTLRを使用できると考える事とします。 また、ライセンスにつてもご指摘ありがとうございます。 著作権表示をして使用いたします。
guest

0

直接の回答ではありませんが、英文で書かれた文章が日本語に翻訳されるまでに何ヶ月かかかりますし、日本語に翻訳されないドキュメントも大量にあります。最新の情報を得るには直接英文に挑戦する程度の心意気は必要です。google翻訳などかなり性能も良くなっていますから活用しましょう。

ANTLRのお勉強
http://threeprogramming.lolipop.jp/blog/?p=348

投稿2015/11/11 00:20

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

madakko

2015/11/11 08:56

まさに英文漬けの日々を過ごしております。 「ANTLRオフィシャルの解説をGoogle翻訳で読む+日本語の別言語でのANTLR解説と見比べ+サンプルコードを実行」という作業をなんども繰り返し、なんとか大体の使用方法は理解できました。 しかし、C#独自のコードを明記したい場合にどうするのかというような部分になると、なかなか回答が探せず四苦八苦しています。
guest

0

単にC#で構文解析関係に手を出す人からの発信が少ないだけではないでしょうか?
構文解析に手を出している人が少ない訳ではないと思いますが..

投稿2015/11/11 00:15

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

madakko

2015/11/11 08:58

そうであれば少しは安心できます。 が、そうすると今度はC#使ってる人はパーサ作成とかどうしているのだろうかという疑問を持ってしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問