サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
www.csg.ci.i.u-tokyo.ac.jp/~chiba
ノート: 「〜である。だから〜で、そうすると、〜となり、だから〜である。」というスタイルの文章を書く人が多い。枝葉の話題から始まり、幹に達すると、また別の枝葉に移り、最後にすべての枝葉の話題が合流して結論となるような文章は、最後まで読まないと全体として何を言おうとしているかわからないので、読みづらい。このような文章は逆茂木型といい、悪い文章である。 よい文章では、結論が先にきて、枝葉の話題は後ろになる。そのような文章は読みやすい。なぜなら、文章の前から順に、その文章の結論、理由、具体例と、概要から細部へと、無理なく読者の頭へ入るからである。英語の文章はこのような形になることが多い。例えば、"We propose that ... so that ... because ... for example ..." と、正しい形にするための接続詞が豊富である。
1-6 コード生成1 前回は yacc を使って構文木を組み立てた。今回は、こうして組み立てた構文木を元に、Intel x86 アーキテクチャ用のコード生成をおこなう。 IA32 (x86) の命令セット Intel Pentium や AMD Athlon などの x86 系と総称されるプロセッサは IA32 と呼ばれる、i8080 時代からの互換性をひきづった命令セットをもつ。 IA32 は数多くの命令を含むが、この講義で使うのはごく一部である。 レジスタ IA32 は8つの汎用 32bit レジスタをもつ。%eax, %ebx, %ecx, %edx, %esi, %edi, %ebp, %esp である。 このうち %ebp と %esp は、それぞれ特別な用途に使われるので、コンパイラが生成するコードが自由に使ってよいのは、残りの 6 つである。 ただしいくつかの命令は、特定のレ
千葉 滋 Feature 私のデバッグ、 bit、vol.29、no.1、pp. 24-25、共立出版、January, 1997. 私はここ数年デバッグなんてしたことがない。と、こ う書くと、いや、おまえがデバッグしているのを何度 も見たことがある、とか、彼にバグレポートを送った ことがある、とかいう声がたくさん返ってくることだ ろう。そんなタワケタことを書いている暇があったら、 あのバグを早く直せ、とお怒りの方ももしかしたらい るかもしれない(すみません)。それでも私は最近デ バッグなんてしたことがないのだ。少なくとも、この 場で経験談を披露するほどデバッグで苦労したことは ない。 デバッグというのは、もちろんプログラムのムシを取 ることなのだが、ムシにもいろいろある。見つかる場 所で分類すると次のようになるだろう。 (1) コンパイル時:文法エラーや型エラーなどの形で みつかるバグ。
シラバス 本コースは、プログラミングの基本について、ひととおりの技術を学び終えた受講者を対象とする。コースの目的は、実際のソフトウェアを開発する際に、具体的にどのようにプログラムを設計し、またどのように OS の機能を利用していけばよいか、感覚をつかんでもらうことである。このため、本コースは講義中心ではなく、いくつかのソフトウェアの作成演習をとおして、そのソフトウェアのプログラムはなぜそのように設計されているのか等を考えてもらう。 1. 簡単な C コンパイラ 言語仕様を簡略化したCコンパイラを作成し、言語処理系の基本構成を学ぶ。また関数呼び出しや配列参照など、C言語の各基本機能が実際にどのような機械語に変換されていくのかを学ぶ。 実際に作成する処理系は2つで、まずはじめに字句解析の練習として、ごく簡単なLispインタプリタを作る。 その後、構文解析、コード生成の演習のため、C言語風の手続
This page has moved to https://chibash.github.io
Java Press vol. 35, pp.76--85, March 2004. Java プログラムの"舞台裏"大追跡 Javassist -- Java バイトコードを操作するクラスライブラリ -- 入門 先端J2EE サーバJBoss が,人知れず内部で行っていること 千葉 滋 東京工業大学・大学院情報理工学研究科 はじめに Java バイトコードを変換するライブラリとしては Jakarta BCEL が有名です。BCEL は Java クラスファイルのデータ構造を直接操作する場合には便利ですが、Java クラスファイルの内部仕様、つまり Java バイトコードに詳しくないと使いこなせません。一方、Java バイトコードにあまり詳しくない開発者でもバイトコード変換を実装できるようにするライブラリが Javassist です。 バイトコード変換 はっきりいって、つい最近までJava
論文の書き方 1997年1月 論文の書き方 1.論文書きの手順 (1)論旨の組み立て (2)アウトライン 「はじめに」の書き方 「問題意識」の書き方 「研究のアイデア」の書き方 「実験」の書き方 「まとめ」の書き方 2.文章技術 トピックセンテンス 逆茂木型の文章 論理の鎖 例中心主義 3.文章を書く心得 千葉 滋 (Shigeru Chiba)、東京大学
ノート: 卒論、修論などの標準的な書き方の解説。
Javassist Java bytecode engineering toolkit since 1999 View on GitHub Download .zip Download .tar.gz Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides
Eclipse へのプロジェクトの読み込み † 上記のソースコードをダウンロードして適当な場所に展開します。 次に以下のようにします。 Eclipse の File メニューの Import を実行します。 General の Existing Projects into Workspace を選択します。 Root directory として展開したソースファイルの stone-lang を選択し、読み込みを実行します。 ↑ 正誤表 † (一部の指摘は筑波大学の前田敦司先生による) 4.1 章 p.42 の図4.4 の表題 13 + x * 2 の抽象構文木(抽象構文木は括弧を含まない) は誤りで、 (13 + x) * 2 の抽象構文木(抽象構文木は括弧を含まない) が正しい。 4.2 章 p.43 表 4.1 ASTLeaf child(int i) は正しくは ASTree chi
このページを最初にブックマークしてみませんか?
『www.csg.ci.i.u-tokyo.ac.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く