はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ Cコンパイラ

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 12 / 12件)
 

Cコンパイラを作ろう!

2022/08/12 このエントリーをはてなブックマークに追加 231 users Instapaper Pocket Tweet Facebook Share Evernote Clip

こんにちは、21Bのseasonです。この記事はtraP夏のブログリレー3日目の記事です。 自作Cコンパイラでセルフホスト達成しました。 リポジトリ: https://github.com/season1618/c-compiler/tree/main 自作Cコンパイラでセルフホスト達成しました!!!!!!🎉🎉🎉https://t.co/8fLIAJWksQ pic.twitter.com/2fgH5sKoZ0 — s... 続きを読む

ZigはCMakeの代替となるか

2022/08/08 このエントリーをはてなブックマークに追加 124 users Instapaper Pocket Tweet Facebook Share Evernote Clip ZIG クロスコンパイル libc CMake クロスビルド

既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_... 続きを読む

Cコンパイラを作っています』

2022/01/11 このエントリーをはてなブックマークに追加 19 users Instapaper Pocket Tweet Facebook Share Evernote Clip https やりかた 休止状態 ポリシー 参考

ブログが長らく休止状態になっていたのですが,現在,nlccという完全独自のCコンパイラを開発しています. https://kozos.jp/nlcc/ nlの意味のひとつは「No Learn, No Listen」で,「何も見ず,聞かず,参考にせずに作る」です.まあ特別そうした確固たるポリシーがあるとかではないですが,そういうやりかたで作ってみ... 続きを読む

Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記

2020/12/10 このエントリーをはてなブックマークに追加 368 users Instapaper Pocket Tweet Facebook Share Evernote Clip しいたけ ハードウェア 低レイヤ レイヤー CPU

どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め... 続きを読む

セルフホストできるCコンパイラを作ってみた - Qiita

2020/09/01 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita セルフ

低レイヤを知りたい人のためのCコンパイラ作成入門 (以下 コンパイラブック) を一通り読んでcコンパイラを作ってみました。 この本はまだ完全でなく(2020/09/01現在)、例えば構造体の実装の説明などは文章としては存在せず、この本の参照実装である chibicc を写経がてら作っていきました。 (実際には今現在進行中の @ru... 続きを読む

セルフホスト可能なCコンパイラを書く – GitHub 出張所 – プログラム関係のブログはここに

2020/04/14 このエントリーをはてなブックマークに追加 22 users Instapaper Pocket Tweet Facebook Share Evernote Clip コンパイラ GitHub スコープ 知見 一口

最近、コンパイラを書くことが流行っているようだ。流行に乗ってやってみたらいろいろな知見が得られたので紹介したい。 コンパイラを書くと一口に言ってもいろいろなスコープがある。ここでは、C言語を用いてCコンパイラを書くことを選択した。C言語は言語仕様的にコンパクトで広く知られている。また、ツールとしてのC... 続きを読む

Goコンパイラをゼロから作って147日でセルフホストを達成した - Qiita

2019/05/20 このエントリーをはてなブックマークに追加 305 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita Goコンパイラ Lex セルフホスト DQNEO

Go言語コンパイラをスクラッチから書いてセルフホストを達成しました。 https://github.com/DQNEO/minigo 本家Goコンパイラの実装はほとんど見ずに、ほぼ 8cc 1 というCコンパイラから学んだ知識のみで作りました。 特徴 コンパイルするとアセンブリを吐きます 字句解析・構文解析は手書きです。yacc/lex などのツールは... 続きを読む

コンパイラに仕込まれた細工とシステムのセキュリティの話|Rui Ueyama|note

2017/12/11 このエントリーをはてなブックマークに追加 105 users Instapaper Pocket Tweet Facebook Share Evernote Clip コンパイラ バイナリ スクラッチ 代々 Rui Ueyama

コンパイラのソースには書いていないのにバイナリだけで代々伝わっていく情報というのがあって、それはコンピュータのセキュリティに大きく関わっている。ここではそれについて書いてみよう。 僕は 8cc というCコンパイラをスクラッチから書いたことがあるのだけど、8ccには文字列を読む部分で、"\"の後に"n"がきたら"\n"という文字(改行文字)を読んだことにするという 箇所 がある。これはよく考えてみれ... 続きを読む

qrintfの最適化 - RuJIT開発日記

2014/12/23 このエントリーをはてなブックマークに追加 43 users Instapaper Pocket Tweet Facebook Share Evernote Clip qrintf フォーマッタ sprintf GCC 本稿

2014-12-24 qrintfの最適化 H2Oの内部では,数値,文字列のフォーマッタとしてsprintfが用いられています. 我々は,最近までsprintf専用ソースコード変換器, qrintfのチューニングを行っていました. 本稿ではqrintfの概要と今回適応した工夫,そして今後の課題についてまとめておきます. 1. qrintfとは? qrintfとはCコンパイラの1つであるgccのプリ... 続きを読む

わずか500行のCソースコードで作られたCコンパイラ「CC500」

2014/11/17 このエントリーをはてなブックマークに追加 653 users Instapaper Pocket Tweet Facebook Share Evernote Clip サブセット ソースコード 実行 プログラム 空行

Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナ... 続きを読む

Cコンパイラをスクラッチから開発してみた(日記) - Qiita

2014/09/06 このエントリーをはてなブックマークに追加 537 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita ヒストリ スクラッチ コンパイラ 日付

以前に8ccというCコンパイラをゼロからひとりで開発していたときのログです。40日でセルフコンパイルできるところまで到達しています。日付はすべて2012年です。コードとヒストリはすべてGitHubで見れます。 3月4日 というわけでコンパイラを作っているわけだけど、1000行くらい書いたらそれなりに動き始めてきた。こんなのも動くし: int a = 1; a + 2; // => 3 こういうのも... 続きを読む

GoのCコンパイラツールチェインを使う - moriyoshiの日記

2013/12/26 このエントリーをはてなブックマークに追加 55 users Instapaper Pocket Tweet Facebook Share Evernote Clip moriyoshi アセンブラ Goコンパイラ 日記 これら

2013-12-26 GoのCコンパイラツールチェインを使う (この記事は Go Advent Calendar 2013 の12月24日に公開されるはずの記事でした。関係者の皆様大変申し訳ない。) はじめに Goコンパイラをビルドすると、なぜかアセンブラ (5a, 6a, 8a) やCコンパイラ (5c, 6c, 8c) までもがビルドされます。これらはPlan 9のツールチェイン由来のもので、... 続きを読む

 
(1 - 12 / 12件)