32nd Diary

トップ | 最新 | 過去の日記 | もっと過去の日記

2004年
5月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
めーるあどれす
ruby -rbase64 -e'puts Base64.decode64 %q(dGFrYW5vMzJAZ21haWwuY29t)'



2004-05-28 (Friday) [長年日記]

[Linux][Work] Fedora Core 1 -> Fedora Core 2(1)

CD-ROMからインストーラをブートできない.(CD-ROMでブートできない情報その1,その2)

あきらめかけていたが,yumやapt-getでアップグレードできそうな雰囲気である.

検索エンジンで調べてみたところ,yumでFedora Core 2にアップグレードしている例が見つかった.

とりあえずこの例を参考にFedora Core 2にアップグレードし,/etc/apt/sources.list.d/mirror-select.listも書き換えて運用してみようと思います.

今はコンソール*1がいじれるわけではないので,来週の月曜日にアップグレードさせてみよう.リブートしたときに立ち上がってこないのが怖い.(わら

*1 コンソール:最近はコマンドプロンプトのような意味でコンソールという言葉を使うことも多いみたいですが,そもそもは実計算機のディスプレイやキーボードのことをコンソールって言ってました.ここでもそういう意味で使ってます.

[UNIX][Univ] lex & yacc

大学のゼミで字句解析や構文解析の具体的な説明を担当することになった.

属性文法の構文解析機Rie[ftp://ftp.is.titech.ac.jp/]をあつかうための事前知識としてlexが必要なんである.

とりあえず, lex&yaccプログラミング (NUTSHELL HANDBOOKS)(ジョン・R レビン/ドウー ブラウン/トニー メイソン/John R Levine/Doug Brown/Tony Mason/村上 列)を大学の図書館で借りて読んでみてます.

この土日でlex & yaccを((自由)?自在に)?*1使えるようになろうと思います.

とは言っても正規表現がわかっていれば,lexの半分くらいは把握できている,と言ってもよいくらいだと思いますけどね.

*1 ((自由)?自在に)?:控えめな正規表現っす.(w

[UNIX] lexとyaccの関係

「lex, yaccってなんじゃい?」という方に向け,簡単にわたしなりの説明をしてみようと思います.

まず,おおざっぱに言うと,これらは「コンパイラを記述するための言語」なんである.

それぞれがどのような役割をしているか,英文について考えてみると,

I am a man. → 主語 + be動詞 + 冠詞 + 普通名詞 + 終止符
という変換を行ってくれるのがlexで,
主語 + be動詞 + 冠詞 + 普通名詞 + 終止符 → 主語 == (冠詞 + 普通名詞)

という意味づけを行うのがyaccおよびRieの役割なんである.(ちょっと無理のある意味づけなのはこちらの都合ですが.)

コンパイラの記述もこんな感じで行います.

コンパイラに興味のある方は コンパイラの構成と最適化(中田 育男)とかオススメかも(高いけどな)

追記.lex & yaccを読み進めていったら,ドラゴンブックがオススメ.ってずばり書いてあったわ.(わら

まぁ,どっちの書籍にしろきちんと読めばそれなりに実になり,理解もせず適当に読むだけなら単なる時間の無駄だと思います.(ぶ

本日のPingbacks(全0件)