最近の投稿 問題: 積み木を10個積み上げるのにかかる時間は 2020/8/20 木曜日 Google の G Suit Team から “[Action Required] Remove internal links to the G Suite Domain Contact page for your organization” ていうメールが来た 2020/8/14 金曜日 NZXT H1 と ROG STRIX B550-I GAMING で組んでみた 2020/7/17 金曜日 花粉症対策2019 2019/3/16 土曜日 マルチディスプレイ時のDisplayPort問題を何とかしてみた 2019/1/12 土曜日 REALFORCEソフトウェアがインストールできない(解決済) 2018/12/6 木曜日 GeForce RTX 2080 Founders Edition を買
ShaFuck という言語があります。チューリング完全なのに、難解どころか、プログラムを書くことは不可能だと主張してる言語です。 http://esolangs.org/wiki/ShaFuck 不可能だと主張している理由は、入力として受け取ったコードを SHA1 した結果を BF として実行して、かつ 8 つの BF コマンドでないコードが実行されるとプログラムがエラー終了してしまうからです。 で、今回は Brainfuck から ShaFuck への翻訳機が書けたという話。コレ http://shinh.skr.jp/obf/bf2sf.rb shafuck-0.2 で実行可能な hello と cal http://shinh.skr.jp/obf/hello.sf http://shinh.skr.jp/obf/cal.sf.gz どうやったかというと、 20 bytes (=16
PyPy is a dynamic language compilation framework that aims to provide just-in-time compilation for dynamically typed languages like Python. It uses a tracing just-in-time compiler to translate frequently executed parts of Python programs into highly optimized machine code. PyPy consists of components like an interpreter, a translation toolchain, and a virtual machine that can target other language
これまでも極簡単な処理系を作ってみたことはありますが、いずれもインタプリタで実用的ではないものでした。 今回も、本格的なものを作る気は今のところはありません。 ですので、題名は正確には、JVM言語を作る環境を準備する、と言ったところでしょうか。 独自の言語を設計し、それを他の言語にコンバートせずに、直接Javaバイトコードを生成する処理系を作る方法について、大雑把にまとめてみます。 最初のゴール 独自のプログラミング言語の仕様を決める 言語名 文法 処理系を作る コンパイラ インタプリタ バイトコード実行環境はJVMなので作成不要 処理系について 処理系は、一般的には 字句解析器ジェネレータ →(生成)→ 字句解析器 構文解析器ジェネレータ →(生成)→ 構文解析器 プログラミング言語のコード → 字句解析器 → 構文解析器 → コンパイラ・インタプリタとなります。※追記(2012-03-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く