コンパイラ・インタプリタ・アセンブラとは?こんぱいら・いんたぷりた・あせんぶら
コンパイラ・インタプリタ・アセンブラとは、原始プログラムを計算機が実行できる形へ変換する処理系の分類。コンパイラは全体を先にまとめて目的プログラムへ翻訳し、翻訳が終わってから実行する。インタプリタは一行ずつ解釈しながらその場で実行する。アセンブラは、機械語とほぼ一対一に対応するアセンブリ言語を機械語へ変換する。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
機械語を数値のまま書いていた時代は、命令の並びを人が読めず、機種が変われば全部書き直しだった。人が読める記述と機械の命令の間の翻訳を機械に任せたことで、移植と再利用が成り立つようになった。支援士では、この翻訳の段階が防御側にも回る点が本題になる。バッファオーバーフローの検出コードや、アドレス配置をずらす仕組みに対応した実行形式は、コンパイル時の指定によって作り分けられる。
具体例
GCCには、スタックの破壊を実行時に検出するカナリアを埋め込む -fstack-protector や、配置をランダム化するASLRを効かせるための位置独立コードを生成する -fPIE といった指定がある。一行ずつ解釈して実行するPythonのような処理系では、この種の防御は処理系そのものの側が担う。
試験での引っ掛け
翻訳を先に済ませる方式は文法の誤りをまとめて洗い出せるが直すたびに再翻訳が要り、逐次解釈する方式はすぐ動かせるが誤りが実行時に出る、という対比で問われる。Javaのように中間コードへ翻訳してから仮想機械が解釈する方式もあり、二分では割り切れない点も押さえておく。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。