talked at builderscon tokyo 2017
![Goで実装する軽量マークアップ言語パーサー / Gohn: parser written in Go](https://cdn-ak-scissors.b.st-hatena.com/image/square/fdfcd72bb9fab4954cbb17046ddaea9889ca2bc6/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ffb0ee94ca6eb4fb4b9895b28e85ab0ab%2Fslide_0.jpg%3F8382313)
talked at builderscon tokyo 2017
この記事は Go その 3 Advent Calendar 2015 の 22 日目の記事です。 go tool の中には yacc というコマンドがあります。これはパーサジェネレータである yacc の Go 言語版です。この記事ではこれをつかって簡単な jq のクエリパーサっぽいものを作ってみようと思います。 (この記事のコードは https://github.com/zoncoen-sample/goyacc-jq-query-parser にあります。あとこの記事で話してるものを使って雑に作った jq like TOML processor が https://github.com/zoncoen/tq に上がってます。) ご存知の方も多いかと思いますが一応簡単に紹介しておくと、 jq は標準入力から受けとった JSON 文字列から値を取り出したり加工したりする事ができるコマンドラ
この記事は Go Advent Calendar 2014、16日目の記事です。 はじめに Matz さんが streem という、ストリーム指向言語の開発を始めるらしいです。 まだ文法の設計段階ではあるけど、それなのにかなりの量の pull-req がバンバンと来てて凄いなーと思いつつも「この pull-req 量だと僕には出番無いなー」と思ったので、README.md に書かれているサンプルだけを頼りに streem を golang で実装してみました。 先日はネタで streem のマネをして yacc 定義部分だけ公開していましたが、本日ネタが無い中にTLがヒートアップして焦りに焦って勢いで実装してみました。いやはや異様な追い込みを感じます。。。 まずは streem を知る streem は README.md に書かれている通り並列実行を行いつつストリームを処理する言語です。
さかとくです。最近では、JavaScript上でJavaバイトコードが実行できたり(Orto)、JavaScriptでScheme(jsScheme)が動いたりと、とても楽しい状況ですね。ブラウザさえあれば、その上でいろんなプログラミング言語を体験することができるのですから! 私も、これまで、マクロ言語やスクリプト言語をいくつか作ってきました。(代表作は、音楽のプログラミング言語「サクラ」や、日本語プログラミング言語「なでしこ」などです。)今は、ブラウザ上で動く日本語プログラミング言語を開発中ですが、これはまだ見せられる状況ではありません。 そこで、ウノウラボを書くのに与えられただろう時間(約1時間)で、オリジナルのプログラミング言語を作ってみようと思います。もちろん、JavaScriptだけで。 では、はじめてみましょう! (1) コンパイラコンパイラをゲットする はじめに用意するのは、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く