This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
わたしもきつねさん本ちゃんと読んでないけどたぶんあの頃から LLVM は変わりすぎてるのであんまり読むイミないかも
きつねさん本、流石に古すぎてAPIとかIRのあちこちが現行版と違うと思う
きつねさん本、商業で出版された方だと表紙がタイトルで結構隠されているけど同人誌版は最強だと聞いた
普通にコンパイラの教科書から読むほうがトークナイザーやダウンパーサー、ボトムアップ解析表なんかをアルゴリズムや実装と有限状態遷移図や Prof. Avram Noam Chomsky の生成文法のモデルとの係り合いから書いてあってよくまとまってる、かつ覗き穴最適化や CFG を使った最適化みたいな初歩のバックエンドのコード最適化のとこまで触れてるからバランスがいい
が、ドラゴン本やタイガー本にいきなり突っ込んでくと情報量と厚さ、そしてお堅さに圧倒されそうなのでコロナ社かなんかから出てるあたりのやつで
だいぶナメた話をすると、文法まわりって最近はパーサコンビネータとかでだいぶ雑に書けるようになっているので、構文解析あたりのトピックは雑に飛ばして (or 具体的なライブラリの使い方だけひとまず把握して) その先のトピックをやっても良いのではないかと思っている
LR(k) の構文解析表とか授業で書かされた覚えがあるけど (もう完全に忘れた)、ぶっちゃけ知らんでも書けるものは書けるしわかるものはわかる。
古きよきコンパイラの教科書に載っているトピックの中では今のところ一番無害にスキップ可能だと思っている
変化球としては全部 Lisp で済ませば字句解析と構文解析みたいのの大部分は考えずに済むみたいなアレもある (ほんまか)
まあそこは yacc とか bison とかで自動化できるとこでもあるんで、コンパイラのキモはバックエンドのコード出力……なんだけど現代は正直そこは最適化とかもとくにせずに 1:1 で AST から変換した LLVM IR 吐いといてあとは LLVM に喰わせれば実用の自作言語できちゃうとこではある
ちなみにダウンパーサ書くならパーサコンビネータ使うとより直感的に書けるし、たとえば Rust なら nom とか使うとわりとキレイにかける
正直これなんで、結局自作言語やコンパイラづくり自体を break down したどこをやりたいのか、どこに目的を起きたいのか、という話ではある
まあ一度しっかりナメてかかって再帰下降パーサをナイーブに書いたところで左再帰の無限ループに苦しんで泣く泣く構文規則を書き換える経験みたいなのも人生の無料トッピングだと思うので、引っ掛かっておくのはおすすめ (?)
左再帰を避けるために構文規則を書き換えた経験のある人にしか出せないフェロモンがある (???)
AdC 用に自作ライブラリの解説を書いていたら、どうも設計が最適でない可能性が出てきた
This account is not set to public on notestock.
単に refcount の管理がダルくて RAII しやすい位置で分割したらメモリアロケーション増えてしまっただけな気がしてきたな (嫌だなぁ)
いや、もしかして木が破棄されたのに weak reference が残っているような状況でメモリの浪費がないようにこうしたのか?
回線のMTUを調べられるデスクトップマスコットとかときめきませんか(ときめきません)
1300-1500で二分探索したら割とさくっと高速に当てられそうな気がしなくもない
ジャンボフレーム対応したら異常ネットワーク機器群が MTU 65535 の通信路を持っていて探索が永遠に終わらない回 (適当)
実際 +1 しながら送るようなアホなことはしないはずで、失敗するまで倍々にしていってから二分探索に持ち込めばいいので、所詮 O(log N) だし16ビット程度は定数時間 (なお通信のオーバーヘッドは考えないこととする)
Rust 用に書いた木構造ライブラリ dendron の内部構造の解説 - 何とは言わない天然水飲みたさ
https://blog.cardina1.red/2022/12/08/dendron/
書いた
This account is not set to public on notestock.
This account is not set to public on notestock.
Kubernetes のダッシュボードなんかグラフの色が黒と黒で神なんだけど何でなんだ
一応書いておくとこれはジョークで、そもそもエスキモーが沢山の種類を区別するとして知られているのは白です
SSO 、サーバ立てて使ってみたさはあるんだが、 IdP とかの可用性維持がダルそうなんだよなぁ
This account is not set to public on notestock.