Explore "Full-Stack" in depth!

情報系の専門学校で、今は機械学習に的を絞って学習中。プログラミングを趣味でやりつつ、IT系のあらゆる知識と技術を身に付けるべく奮闘中。

Go

オブジェクトファイルのシンボルテーブルを最低限理解する。

目次 目次 概要 対象読者 本題 ELFフォーマット復習 シンボルテーブル シンボル名 name シンボルの情報を格納する info ST_BIND ST_TYPE シンボルの可視性 Other シンボルの実体 Value 総評 概要 お久しぶりです。 最近やりたい事が沢山あってブログをかけず…

readelf -hの簡易版・省略版を作成するミニ記事

目次 目次 概要 本題:ELFヘッダを見る 本題2:GoでELFヘッダを解析する 総評 概要 コンパイラ自作をとても楽しくやっている私ですが、 どうせコンパイラを作るならバイナリ生成までやらせたいものです。 もっと具体的に言うと、 アセンブリから機械語を生成する…

runcのcreateコマンドを読む。

Go

目次 目次 概要 ライセンス 前提:createコマンドとは main.go 定数 コマンド定義 create.go loadSpec() startContainer() notifySocket 総評 概要 DockerでLow-Level runtimeとして現在も活躍している opencontainers/runcの コードを読んで行きたいとおもい…

Go Compilerの実装を読む3(SSA Readmeを読んだ編)

目次 目次 概要 ライセンス Introduction to the Go compiler's SSA backend Key Concepts Values memory types block Functions compilerの最適化 総評 概要 Go Compilerの実装を読む第3弾。 Introduction to the Go compiler's SSA backendの翻訳をしていき…

Go Compilerの実装を読む2(Readmeを読んでgcの概観をする編)

目次 目次 概要 ライセンス Introduction to the Go compiler Parsing Type-checking and AST Transformations Generic SSA Generating machine code 総評 概要 Go Compilerの実装を読もう第二弾。 今回は cmd/compileに記載された、 Introduction to the Go c…

Gopaz第二弾・前回の記事から10日間で追加した仕様紹介

目次 目次 概要 前回からの追加機能 定数定義 変数定義時に型情報を保持 関数定義 配列の要素の型チェック ハッシュのキー/値型チェック 総評 概要 Gopaz第二弾。 前回から機能拡張した部分がいくつかあるので そのお話をしていこうと思います。 前回の記事を…

自作インタプリタ言語「Gopaz」の紹介(鋭意開発・拡張中)

目次 目次 概要 前提:monkey-patch 本題 Gopaz 出来ること 変数宣言・代入 コメント If「式」 数値計算 比較演算子 文字列処理 配列処理 組み込み関数 実装上の工夫 Lexer マルチバイト文字対応 Parser テスト駆動開発・CI 総評 概要 自作のインタプリタ言語を作…

Go Compilerの実装を読む(トークン編)

目次 目次 概要 対象読者 本題 トークン 総評 概要 私は過去にプログラミングでいくつかのツールを作ってきました。 www.resume.id ここにいろいろ載せてます。 github.com ここにも。 しかし、より大きなものを、本気で作りたい!と考えた私は、 かねてよりめちゃ…