ここ「ひとり勉強会」は、会と言いつつひとりで勉強した記録を残してます。 今度は The Programming Language Lua のソースコードを読みます 履歴 (0): 参考資料まとめ (1): データ構造。main から VMメインループまで (2): スタック構造や命令フォーマットCALL/RETURN (3): 演算子・ジャンプ・ループ・クロージャ (4): コルーチン・環境 成果物 LuLu : Lua VM on Lua @ LuaForge LUAソースコード勉強会は2008/06/08に無事終了しました。
■ [prog] 正規文法、文脈自由文法、解析表現文法 について調べたのでまとめ。それぞれ Regular Grammer(RG), Context Free Grammer(CFG), Parsing Expression Grammer(PEG)とも。 解析表現文法はPEGって呼ばれる方がずっと多いよね。てかPEGが「文法」の一種であることを今まで分かってなかった(^^; 「パーズ関係の新しいやつでしょ」みたいな。 正規文法 < 文脈自由文法 =?< 解析表現文法 の順で、表現できる言語が増える。 (追記:CFG<PEGであるとはまだ証明されていないそうです(コメント欄を参照)) 正規文法はいわゆる正規表現のもとになったやつ。(現在のLLのRegexpは拡張されまくりなので正規文法以上のものも解析できる) 文脈自由文法はBNF記法で書けるやつ。 文脈自由文法(のサブセット)の解析方法と
P′′ is formally defined as a set of words on the four-instruction alphabet , as follows: and are words in P′′. If and are words in P′′, then is a word in P′′. If is a word in P′′, then is a word in P′′. Only words derivable from the previous three rules are words in P′′. Let a finite alphabet , with , be given, together with a Turing Machine equipped with a tape that is infinite to the left and di
ruby-dev や ruby-list で上が (っては消え) る話に、複素数のリテラルがあります。要は Complex(1, 2) を 1+2i などと書きたいという話。僕自身は複素数なんて (Project Euler くらいでしか) 使ったことがないんで、リテラルが必要とは感じないんですが、こういう仕様を考えてみました。 1+2iを 1+2.sugar_iの syntax sugar とする。i に限定せず、数字リテラルに続くの英字を sugar_<それ> というメソッドの呼び出しとみなします。あとは Numeric#sugar_i を実装すれば OK 。 さらに引数として数値リテラルを書けるようにすれば、虚数なんて使わねーよという人にも使い道があります。例えば 5C3 => 5.sugar_C(3) #=> 20 5P3 => 5.sugar_P(3) #=> 60とすれば順列や
中古のリーン・ロゼ ブリガンタンを買った 中古のインテリアリサイクルショップのウェブサイトを眺めてたら、とんでもない破格だったのをたまたま見つけまして、ずっとほしかったし買ってみました。本当に安かった。かなり汚れてるからこの価格だったようで、よくみると確かに汚れてるが、よく見ないとわからな…
Why Factor The Factor programming language is a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection. On a practical side, Factor has a full-featured library, supports many different platforms, and has been extensively documented. The implementation is fully compiled for performance, while still supporti
Pasangan Artis Ternama Sambut Kelahiran Anak Pertama, Foto Eksklusif Bayi Viral di Media Sosial merupakan judul dari sebuah artikel kami kali ini. Kami ucapkan Selamat datang di lambdassociates.org, . Pada kesempatan kali ini,kami masih bersemangat untuk membahas soal Pasangan Artis Ternama Sambut Kelahiran Anak Pertama, Foto Eksklusif Bayi Viral di Media Sosial. Pedahuluan Kebahagiaan tengah […]
Why Attribute Grammars Matter by Wouter Swierstra for The Monad.Reader Issue Four 01-07-05 Introduction Almost twenty years have passed since John Hughes influential paper Why Functional Programming Matters. At the same time the first work on attribute grammars and their relation to functional programming appeared. Despite the growing popularity of functional programming, attribute grammars rema
本当は自分でやりたくて仕方が無いのだけど、私を待っている仕事が列を成してこちらを見ているので誰かに託そうとここに書く。こないだ作った、いや、作ったというより皮を被せただけだけど、MML を鳴らす奴の仕組みについて調べているうちに興味深い記述にぶつかった。 新しい Loader と ByteArray クラスによって、SWF のバイトコードをメモリ上に生成できる。これはすごい事だ。flash 内に flash のコンパイラを作れないか考えていた所。 ― how to make actionscript 3 play generated pcm wave data どうもこのサウンド再生機能というのは、動的に SWF を生成して実現しているらしい。このハック自体は醜悪だが、サウンドに限らずどんな SWF でも生成してその場で再生出来るというのには驚いた。eval が無い事が flash の唯一
■ [prog] Scala - 機能のためには文法を自重しない言語 昨日のRuby勉強会でkeisukenさんによるScalaの発表があった…んだけど僕は遅刻して見られなかったので(ごめんなさい)、 今日電車の中で配布資料を読んでたんだけど、、、こんなにカオスな言語だとは知らなかったw とりあえず、機能追加のためには文法の拡張を厭わないということは分かった。ある意味格好いい。 以下キーワード: JVMや.NET上で動く 静的型、型推論あり varで変数宣言 valで再代入できない変数宣言 (関数型言語におけるletみたいに使える) 無名関数は (i) => print(i + "") とか for(i <- 0 until 10){} とか、 (0 until 10).foreach() とか メソッド定義はdef Generics (型名がArray[String] とか) Struc
第39回情報科学若手の会の夜のセッションでのディスカッションから生まれた言語「KEMURI」を紹介します。 これはKEMURIで「Just Another Python Hacker,」と表示するコードです。 `"^^"^^^^"^^'"^^"^^'"^^"^^'"^^"^^"'"^^"^^`"^^"^^^^"^^"^^"^^"^^"^^'"^^"^^"'"^^"^^`"^^'^^'"^^"^^'"^^"^^'"^^"^^'"^^"^^"'"^^"^^`'"^^"^^^^'"^^^'"^^"^^'"^^"^^'"^^"^^`"^^"^^^^^^'"^^"^^'"^^"^^'"^^"^^`"^^"^^"^^'"^^^'"^^"^^'"^^"^^'"^^"^^^`'"^^"^^'"^^"^^'"^^"^^'"^^"^^'"^^"^^'"^^"^^`"^^"^^^^"^^"^^'"^^"^^'"
This is a reference implementation of the Fortress programming language. Fortress is a new programming language designed for high-performance computing (HPC) with high programmability. In order to explore breakaway approaches to improving programmability, the Fortress design has not been tied to legacy language syntax or semantics; all aspects of HPC language design have been rethought from the g
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く