ページ 1 / 1
以下の内容の記事を探すキーワードを教えてください
Posted: 2015年10月22日(木) 12:10
by CFlesh
C言語初心者です。
調べたい内容がありますが、どのキーワードを用いて検索をかければよいか分からないため質問しました。
元々はC言語にない構文を追加して使ってみたいと考えています。
コード:
Student["Name"] ="太朗";
のようにC言語では書けない構文を書いてみたいと思っています。
連想配列を使いたいのではなくC言語では扱えないルールをライブラリか何かに加えることで実装することを何と言うか教えていただきたいです。
Re: 以下の内容の記事を探すキーワードを教えてください
Posted: 2015年10月22日(木) 12:26
by YuO
PreprocessorだったりTranslatorだったりConverterだったりCompilerだったりしますが,作者が決めたあと,まわりがどう呼ぶか,だけなので決定的な名前はないかと。
今回の場合は,構文解析をしてそこから構文木を作り,それをCの構文にあうように修正して出力する必要があると思うので,cfrontと同じくCompilerと呼ぶのがしっくりくる気がします。
※cfront : 最初のC++ (というかC with classes) のコンパイラ。C++のソースコードを処理してCのソースコードを出力していた。
Re: 以下の内容の記事を探すキーワードを教えてください
Posted: 2015年10月22日(木) 13:33
by CFlesh
ご返信ありがとうございます。
教えてくださったキーワードを元に調べていきたいと思います。
何も理解できていない段階ですが、頂いた情報から察するに私が行おうとすることを実現するにはコンパイラそのものを編集する必要がありそうですね。
大変ありがとうございました。
Re: 以下の内容の記事を探すキーワードを教えてください
Posted: 2015年10月22日(木) 14:27
by softya(ソフト屋)
> コンパイラそのものを編集する
正確に書くと別途コンパイラを作るでしょうか。
そのコンパイラは特殊な文法[ Student["Name"] ="太朗"; ]を追加したC言語+アルファのソースコードを入力として、C言語だけのソースコードを出力します。
その後はC言語のコンパイラでコンパイルします。
まぁ、 Student["Name"] ="太朗";ならC++で実装可能なので、あえてコンパイラを作るほうが大変と言う回り道です。
コンパイラを作る勉強ならありですね。
Re: 以下の内容の記事を探すキーワードを教えてください
Posted: 2015年10月22日(木) 17:19
by CFlesh
ご返信ありがとうございます。反応遅れまして申し訳ございません。
C言語ではサポートされていない文法を他の言語のコンパイラに頼ることなく自分で書いて実装してみたいというのが私の趣旨です。
その1つとしてCベースのコンパイラを作るということがわかった段階です。