タグ

programmingとjavascriptに関するtaketyanのブックマーク (2)

  • JavaScriptで言語自作してみた - 箱入りあじゃらの日記

    JavaScriptなぜJavaScriptで書いたかには触れないでください。試してみる:http://ajalabox.appspot.com/green/index.htmlGitHub:https://github.com/ajalabox/green名前GreenScript (緑茶)特徴LL(?)*1文法はJavaScriptに似ている(セミコロンの無いJavaScript)型毎に演算子の挙動を定義しているというか内部的には演算子は関数ブロックスコープさりげなくクロージャが使えるオブジェクト指向(現時点で配列以外のオブジェクトは作れない)プロトタイプベース(内部)実行速度が非常に遅いサンプル変数の宣言と代入 //値の宣言(var文は無い→後で作る予定) a := 2 b := 3 print(a, b) //2,3 //ブロックスコープ { a := 200 //新しいスコープで

    taketyan
    taketyan 2011/03/29
    字句解析と構文解析を参考にしよう.
  • Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late

    JavaScript ではよくある、こういう書き方。 一応説明すると、これは実行時に外側の無名関数を実行します。外側の無名関数は返り値として、内側の無名関数を返し、変数 counter には内側の無名関数が代入されます。 これの何が嬉しいのか。 counter 関数が内部に持っている変数 i は隠蔽されており、外から変更できない。 グローバル空間の汚染は counter 1 つだけ。 といったところでしょうか。とにかく、 JavaScript 脳の人はこういう感じのコードをよく書いている気がします。 JavaScript にはオブジェクト指向によくある protected や private といったアクセスレベルを制御する機能が無いため、これの応用で内部の変数やメソッドを隠蔽することが多いです。 Prototype や jQuery でもそういった使い方がされています。 このように、 J

    Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late
  • 1