C言語で引数なしの関数を書くときに void を書かないのと書くのとで挙動が違うなんて話を聞いたことはないでしょうか? つまり void func() {} と void func(void) {} で挙動が違うという話ですね。 自分も話だけ聞いたことがあったものの2つがどう違うのか…
UNIX 開発者の Ken Thompson が UNIX にバックドアを仕掛けていたという通称 Thompson hack を自作Cコンパイラで再現してみました。ログイン・コマンドのコンパイル時にバックドアを仕掛けるようなコンパイラを作り、さらにコンパイラのソースコードから痕跡…
セキュリティ・キャンプ全国大会2018の「Cコンパイラを自作してみよう」ゼミに参加して、セルフホスト可能なCコンパイラの自作をしたという話です。
M1の@reminさん、B4の自分、B3の@9071tomatoくんの3人で、チームMohuhu UniversityとしてICPC 2018国内予選に参加しました。 なんとかA〜D問題を解いて全体で31位になることができたので、おそらく国内予選を突破できたはずです。 一応、問題一覧と順位表の…
字句解析に続いてプリプロセッサ 前回は字句解析器を作るところまでの話でした。 0x19f.hatenablog.com 今回はプリプロセッサのお話です。 先に言い訳をしておくと、WG14/N1570 Committee Draftを読みながらザクザクと実装を進めてそれっぽいマクロ展開など…
2018/06/05追記 続き書きました。 0x19f.hatenablog.com Cコンパイラの自作に挑戦してみる C言語のプログラムを書き始めたのはたしか僕が中学生か高校生の頃でした。 あの頃からなんとな〜く「プログラミング言語というのはどうやってできているんだろう」と…
ちょくちょく「3年の時間割ってどんな感じですか?」みたいなことを後輩に聞かれるので、この際全部まとめて残しておくことにした。 一応説明しておくと、早大理工は基幹理工学部・先進理工学部・創造理工学部の3つの学部に分かれている。 僕が所属している…
エレファントな解法(?) 先日Ponanza開発者の山本一成さんがブログでこのような記事を書いておられました. note.mu この記事の中では以下の問いが投げかけられています. 問. コインを100回投げて表か裏が10回連続で出る確率は? 山本さんのブログでは「エレ…
今回の内容 前回まではトラップハンドラについて読み進めていました. 0x19f.hatenablog.com 前回とは大きく内容が変わってメモリ周りの話を整理していきたいと思います(先にシグナルを読んでもよかったかも). 実は先々週あたりの勉強会を思い出して書いてい…
今回の内容 前回は, 主にタイマー割り込みに関連する箇所を読んでいました. 0x19f.hatenablog.com 今回は, トラップハンドラでの処理を見ていきます. システムコールについてもこの辺りに書かれています. トラップハンドラtrap トラップハンドラも割り込みハ…
Code Thanks Festival 2017に参加してきました 12/2(土)に行われたCode Thanks Festival 2017に参加してきました. 運良く予選で良いパフォーマンスを出すことができて, 参加権を勝ち取ったという感じです. www.recruit-jinji.jp 会場到着まで 起きると脳が直…
今回の内容 前回までは, 割り込みとトラップが発生してからハンドラが実行されるまでの流れを追っていました. 0x19f.hatenablog.com 今回は, クロック割り込みハンドラのお話です. クロック割り込みによって処理される指定時間実行とsleepシステムコールも一…
今回の内容 前回の続きから. アセンブリで書かれたtrapとcallを詳しく見ていきます. 0x19f.hatenablog.com 前回解決できなかった疑問点 nofaultが設定されている場合の割り込み箇所への復帰方法について, 前回の記事には, もう一つわからないことがあって, …
今回の内容 前回の続きから. アセンブリで書かれたcallとtrapの実行を詳しく見ていきます. 0x19f.hatenablog.com call, trapの実行 書籍ではあまり言及されていない箇所が多くあまり進みませんでした. 以下, ざっくりとした理解です. (間違っている箇所があ…
11/3(金)にDisco Discovery Channel Code Contest 2017の本戦に参加してきました. 予選ではC問題を解くのが遅めで本戦通らないかと思ったのですが, 19卒枠の繰り上がりで本戦に参加することができました. https://discoverychannel.jp/ddcc/discoverychannel…
勉強会の趣旨 UNIX V6ソースコードを読もうという会です. この本に沿って読み進めてます. はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)作者: 青柳隆宏出版社/メーカー: 技術評論社発売日: 2013/01/09メディア: 単…
いろんな人の参加記を見ていたら自分も書きたくなったので書きます. 9/18〜20で会津大学の競技プログラミング合宿に行ってきました.3日間の日程があってそれぞれ立命館大学, 会津大学, 北海道大学が作問した問題をICPC同様のチーム戦で解くという感じでした.…
9/8, 9に行われたPyCon JP 2017に参加してきました. pycon.jp正直あまりPython書いたことないのですが, 今年は思い切って行ってみることにしました. というのも, なんと参加枠に早稲田大学生という枠があって, しかも参加費無料だったんですね. おまけに開催…
普段テレビはほとんど見ないのだけれど, 先日は金曜ロードショーのサマーウォーズを見てました. 相変わらずいつ見てもいい作品だなぁとか夏希先輩かわいいなぁとか思いつつ, Twitterでわいわいしてました.サマーウォーズが放送されると必ず話題に上がるのが…
この前うっかり寝過ごしてで損ねたARC080を解いた. C: 4-adjacent - AtCoder Regular Contest 080 | AtCoder [解答] 数列の要素を自由に並び替えて隣り合う要素の積が4の倍数になるようにできるか判定する問題. Aiが奇数, (4の倍数でない)偶数, 4の倍数で隣…
8/3で無事に春学期の期末試験を全て終えて夏休みに突入した. しばらくは休養がてらアニメ見たりして過ごしてた. 昨日から大学の夏期集中講座でまた学校に来ている. なんだかオープンキャンパスで高校生がいっぱいいたり, 何かのイベントで小学生がいっぱいい…
今年こそISUCONに出たい 前々からISUCONにチャレンジしてみたいなぁーと思っていたのもあって, 今年こそはちゃんと練習しようと思っています. 夏休みに入って時間も取れるようになってきたので. とりあえず, Vagrant使って過去問を触ってみる. ISUCON過去問…
AtCoder Regular Contest 079 C, Dを解いて2完. Eはにぶたんとかいろいろ試したけれどダメだった. Fは問題さらっとしか読んでないです. C: Cat Snuke and a Voyage - AtCoder Regular Contest 079 | AtCoder [解答] 島1から繋がっている島すべてに対して, N…
今までずっと補完というものを使わずにプログラムを書いてきた. なのだけれど, 英単語のスペルミスがあまりにも多かったり, 特定の単語を特定の間違い方することが多いので補完を使ってみることにした. とりあえず, vimの標準の補完機能(ctrl + p)を使ってみ…
AtCoder Grand Contest 018 安定の1完(). A問題が難しくて普通にお葬式になるところだった. Bは言われれば貪欲だなぁ〜って感じ. A: Getting Difference - AtCoder Grand Contest 018 | AtCoder [解答] A問題なのに難しい. A[i]が{ dm | m = 1, 2, 3, ... }…
ここ最近結構時間を費やしてOS自作入門を読んでHaribote OSを写経したりしていたのだけれど, せっかくだから実機でも動かしてみたいなと思ってUSBにディスクイメージを書き込んで起動させようとしたら, Windowsが起動しなくなっていたことに気づいた. 代わり…
ソフトウェア工学は微妙, 言語処理系はぼちぼち(?). ソフトウェア工学は正直ただの暗記ゲーで内容的にもそんなに面白いものではないので退屈だった. 言語処理系はちゃんと勉強してみると面白かったのだけれど, もう少しちゃんとしたレジュメ配って欲しいっ…
OSの授業の自由課題で『OS自作入門』のHaribote OSに簡単なファイルシステムを作ることにした. (なお, 書籍自体は23日目までしか終えてない.) ファイルシステムと言っても, ディスクI/Oのやり方がわからないのでメモリ上にディレクトリツリーがあるだけだけ…
ニコ動でSchool Daysが無料配信になっていたので見ていた. 実は最終回しか見たことなくて, 1話からちゃんと見るのは初めてだったりする. 1話見るごとに「誠死ね」という思いがどんどん募っていく作品だった. もう少し誠に葛藤とか苦悩とかがあればそんなに胸…
そろそろ期末試験の勉強をしないとまずいのだけれど, もちろん全く手をつけていない. とりあえず, 今週の教場試験ってOSA, ソフ工, 言語処理系だけって認識であってますかね. yukicoder contest 169 No.542 1円玉と5円玉 - yukicoder [解答]制約的に全部の…