SN/X付属コンパイラの解読
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[SN/X]]
*SN/X付属コンパイラの解読 [#nc0e0612]
SN/XにはC言語風のプログラムからSN/Xがサポートする命令を使用して実行する機械語までを生成してくれるコンパイラが付属しています。~
コンテストで求められる課題は、CPUアーキテクチャと共にコンパイラの改良が求められるので、自在に操れるように内容を理解しましょう。
----
#contents
**snxcコンパイラ [#qbd617e5]
C言語風のプログラムからSN/Xで実行可能なアセンブリを生成するコンパイラです。
***[[ヘッダ(snxc.h)>snxc/ヘッダ(snxc.h)]] [#r04cc43f]
snxcコンパイラで使用される構造体などの情報が定義されています。
***[[字句解析(snxc.l)>snxc/字句解析(snxc.l)]] [#a9096d8a]
lexによる字句解析を行うためのプログラムです。
***[[構文解析(snxc.y)>snxc/構文解析(snxc.y)]] [#sd360213]
yaccによる構文解析を行うためのプログラムです。
***[[バックエンド1(snxb1.c)>snxc/バックエンド1(snxb1.c)]] [#bd17de61]
アセンブリの命令を書き出すプログラムです。
***[[バックエンド2(snxb2.c)>snxc/バックエンド2(snxb2.c)]] [#ke87b412]
C言語で実行するプログラムです。
**snxasmコンパイラ [#p56dd4ae]
SN/Xで実行可能なアセンブリから、SN/Xの機械語を生成するコンパイラです。~
~
snxcコンパイラを読み解けるようになれば、snxasmコンパイラも読み解けるようになっているはずです。~
序盤では、snxcでサポートしていなかったsub命令なども既に実装済みなので、sub命令追加の必要はありませんが、更なる命令追加を行う場合には、snxasmも対応していかなければなりません。
終了行:
[[SN/X]]
*SN/X付属コンパイラの解読 [#nc0e0612]
SN/XにはC言語風のプログラムからSN/Xがサポートする命令を使用して実行する機械語までを生成してくれるコンパイラが付属しています。~
コンテストで求められる課題は、CPUアーキテクチャと共にコンパイラの改良が求められるので、自在に操れるように内容を理解しましょう。
----
#contents
**snxcコンパイラ [#qbd617e5]
C言語風のプログラムからSN/Xで実行可能なアセンブリを生成するコンパイラです。
***[[ヘッダ(snxc.h)>snxc/ヘッダ(snxc.h)]] [#r04cc43f]
snxcコンパイラで使用される構造体などの情報が定義されています。
***[[字句解析(snxc.l)>snxc/字句解析(snxc.l)]] [#a9096d8a]
lexによる字句解析を行うためのプログラムです。
***[[構文解析(snxc.y)>snxc/構文解析(snxc.y)]] [#sd360213]
yaccによる構文解析を行うためのプログラムです。
***[[バックエンド1(snxb1.c)>snxc/バックエンド1(snxb1.c)]] [#bd17de61]
アセンブリの命令を書き出すプログラムです。
***[[バックエンド2(snxb2.c)>snxc/バックエンド2(snxb2.c)]] [#ke87b412]
C言語で実行するプログラムです。
**snxasmコンパイラ [#p56dd4ae]
SN/Xで実行可能なアセンブリから、SN/Xの機械語を生成するコンパイラです。~
~
snxcコンパイラを読み解けるようになれば、snxasmコンパイラも読み解けるようになっているはずです。~
序盤では、snxcでサポートしていなかったsub命令なども既に実装済みなので、sub命令追加の必要はありませんが、更なる命令追加を行う場合には、snxasmも対応していかなければなりません。
ページ名: