Const なんとかさん関連のツール群をつかうと、簡単に EcmaScript target の言語をつくれる! Const なんとかさん関連のツール群というのは以下のようなものです で、esprima とか関連のツール群は Mozilla の Parser API の AST 形式をサポートしています。詳細はここのへんかな。 https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API で、escodegen があるということは Parser API 形式の AST をはけば、そこから JS を生成できるってことですね。しかも escodegen は source-map の生成にも対応しているので、エラーの処理もらくちんで、実行時エラーがおきても、「ああ、JSでかいておけばよかった。。」とはならない(という未来がくるこ
このページの目的は、「独自のプログラミング言語を作る」ことです。 「プログラミング言語を作る」というのは、 やったことのない方からすれば、ずいぶん無謀な目標に見えるのかもしれません。 でも、いくつかの基礎知識さえ修得すれば、技術的には、 実はそんなに難しいものでもありません。 だったら、ひとつぐらい作ってみたいと思いませんか? なにしろプログラミング言語を作るなんて、 いかにもかっこ良さげじゃないですか。 私は作ってみたいと思いました。だから作ります。 プログラミング言語なんてもう山ほどあるのに、 今さら新しい言語なんて付け足して何をしたいんだよ! などというツッコミは入れてはいけません。 「なぜプログラミング言語なんか作るんですか?」 と聞かれたら、その答は そこにyaccがあるからだ。 で充分だろうと私は思います(yaccが何かは後述します)。 というわけで―― ただ私なんぞが新言語を
YAPC::Asia Tokyo 2011 2日目レポート[随時更新]:YAPC::Asia Tokyo 2011 スペシャルレポート|gihyo.jp … 技術評論社 @__papix__さんが YAPC::Asia 2011で発表した Testgenの補足について. コードは個人的にちょこちょこいじってましたが, 自分のプロダクトではないので 紹介は控えてましたけど, 公になったので書くことにしました. コンパイラのテストとは テストが重要なのは当然なのですが, コンパイラのテストは特に重要です. コンパイラにバグがあると, ソースコードが間違っているのか, コンパイラが 誤っているかがわからなくなり, 開発どころではないからです. 小さなアプリケーションならまだいいんですけど, カーネルをコンパイルする ということになるともう絶望です. なので完璧とはいきませんが, 標準的な最適化オ
「MS、コンパイラをサービス化する「Roslyn」の詳細公開へ」 ← このタイトル・この内容を見て、絶対勘違いする人いるだろうなぁと思ってたら、やっぱりはてぶが素敵なことに。“Web” サービス化だと思われてる節が。 サービス化 サービスっていうと Web サービスのイメージが強いですよねぇ、そりゃ… あと、「as a Service」って付いてるクラウドの分類方法が多いですし… 違うんですけどもね。クラウド(直接は)関係ない。 Roslyn のいう as a Service ってのは、monolithic (一枚岩で分割不可能な巨大システム/アプリ)の対義語としてのサービス。「中身をブラックボックスにしない」、「処理単位ごとにプログラム的に参照可能」という意味。なので、Roslyn(というコードネームが付く以前)の旧称 Compiler as a Service は以下のような意味: 「
最近一部で盛り上がっている「末尾再帰」について自分の理解を確認するのも兼ねて書いてみます。 (そもそも自分がふったのがきっかけっぽいので)。 上級者の方は間違い等に厳しくつっこんでもらえると助かります:-) 背景 自分が末尾再帰を知ったのは多分Schemeの勉強を始めた頃だったと思います。 例えばSICPという本では20ページあたりにこっそりと出てきます。 そのころの理解はかなり浅いもので「ふーん。」程度でした。 さて後日Schemeの処理系を実装することになりR5RSというSchemeの仕様書を読んだところ Scheme の実装は真正に末尾再帰的(properly tail-recursive) であることが要求されている。これは,たとえ繰返し計算が 構文的に再帰的手続きで記述されているときでも,定数空間 でその繰返し計算を実行することを可能にする とあり末尾再帰のことを詳しく知る必要性
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く