2007-03-01から1ヶ月間の記事一覧

文法を型で定義 その2

以前, 構文解析器の話で,型を定義しながら文法も定義する的な話をしていたが,似たようなものがあった. Pattern matching and parsing: binpac: a yacc for writing application protocol parsers, Ruoming Pang, Vern Paxson, Robin Sommer, Larry Peters…

うわ,リンク先ちがってた,けど...

さっきのミックスインのリンクをはるときに,間違ってこっちを貼っていたhttp://www.kmonos.net/alang/d/mixin.htmlでも,この機能もそれはそれですごい.

CGIとミックスイン

たとえば,こんなCGIのパラメタがあったとしよう(山田さん20歳をデータベースに登録する) cmd=add&name=yamada&age=20 こうやってみると,明らかに name と age はひとまとまりのデータである.cmdとは別物であると考えるべきだろうところで,このデータを…

昔話

あんまり関係ないが,昔Win98の宣伝文句の1つに「エクスプローラからインターネットが見れます!これからはファイルもWebもシームレスです!」ってのがあった.そのとき「あー,じゃあこうやって書けるのね」と思った. 10 OPEN "http://hogehoge.com/" FOR …

だけでよい,とはいったものの

こんくらい短くなってくれないかね http://q.hatena.ne.jp/xmlrpc>.question.getSimilarQuestion (content=$content,threshold=2,limit=5) { |QResult res| printf "%9s : %s\n", 'qid', res.qid; printf "%9s : %s\n", 'uri', res.uri; printf "%9s : %s\n"…

Web APIって...

なんかXMLをごりごり書いて投げるものかと思っていた人力検索はてなおとなり質問API question.getSimilarQuestion content 代官山付近でおいしいランチを食べられるお店を教えてください。 こんな階層の深いXML書いてられっかー,と思ったら, my $content =…

リフレクションで何をしようかというと

Webで動くAccessを作りたい.もちろんバックエンドはMySQL,PostgreSQLなどのフリーなやつで動くタイプの.AccessでMySQLを動かす方法もあるけど,これだとテーブルを作ったりはできないらしい

"PostgreSQL リフレクション" "MySQL リフレクション"

で検索してた. つまり,データベースの世界において,テーブル自身の属性(どんなテーブルがあるか?とか,そのテーブルにどんな列があるか?)を調べる方法を知りたかった. どうしてもJavaな人間なので,"リフレクション" で調べりゃでるだろうと思っても…

プログラミング言語の翻訳

ある言語を他の言語に移植するのを機械化するには,という話.だいたい2通りある. XX言語からYY言語に変換するプログラムを書く XX言語を「共通言語」に変えて,そこからYY言語に戻す. 前者の方法だと,言語の種類^2 の変換プログラムが要るし,後者の方法…

言語を定義するだけで構文解析器にもスタイルシートにもなってくれないかな

PascalをCに変換,またはその逆をやりたい場合,どうしても構文解析器とスタイルシート(出力方法)を両方書かないといけない.でも次のようにしたら1個でまとめられないか. class Substitute { Expression left,right; } class WhileStatement { Expressio…

Metaborgの文法定義

http://d.hatena.ne.jp/hoge1e3/20070304 で書いたMetaborgの文法定義のしかた.Chapter 2. Syntax Definition and Pretty-Printing - http://nix.cs.uu.nl/dist/stratego/strategoxt-manual-unstable-latest/manual/chunk-chapter/demo-sdf.html いわゆる文…

Delphi for PHP?

http://www.atmarkit.co.jp/news/200703/06/delphi.html一瞬何の言語で書くんだと考えてしまう.DelphiのRAD環境をPHPなどのWeb開発でも使えるようにということらしい.確かにいまさらPascalで書くのも面倒なのでこういうのが出るといいかな.

Metaborgでオリジナル言語をJavaに閉じ込める

「文字列に自然言語しか書いてはいかん」というエントリを書いた後で,同じことを考えている人がいるのではないかと調べたら,あった.Martin Bravenboer and Eelco Visser, Concrete syntax for objects: domain-specific language embedding and assimilat…