tech

LL(*) について

The Definitive ANTLR Reference に次のような節があった.以下は LL(*). decl : modifier* 'int' ID '=' INT ';' | modifier* 'int' ID ';' modifier : 'static' | 'register' ; 以下は LL(*) でない. decl : 'int' declarator '=' INT ';' | 'int' declar…

字句解析・構文解析の調査

プログラミング言語の字句解析・構文解析を調べている.今回の調査の目的は,既に文法定義が存在する言語の字句解析・構文解析プログラムを作成する際の注意点を列挙することである.新しい言語の定義を行う際の注意点の列挙や,字句解析・構文解析プログラ…

強制的に US の Google を使う方法

USのGoogleを使うには http://www.google.com/ncr と打つ. NCR stans for "No Country Redirection."

継承についての小考察

継承でスペースを犠牲にして利便性を向上するケースに出会った. typedef void (*TidyItemProc)(void *item); struct List { /* ... */ void MakeEmpty(TidyItemProc proc); }; struct XList : public List { void MakeEmpty() { List::MakeEmpty(this->tidy…

ファイル名の名前付け

フラットな名前空間,例えば単一ディレクトリの中のファイル群とか,wiki のページ名だとかに名前付けをするときに YYYY-MM-DD-title という形式を用いることが多い.これの利点. title 部分が同じでも名前が衝突することが無い. wiki のメモなどでは titl…

terminal における 256 色

環境変数 TERM=xterm-256color Putty の設定「xterm 256 色モードで使うことを許可する」 vim screen [参考] cl.pocari.org - PuTTY + screen の表示を 256 色にする方法 frexx.de