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