kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

2021-01-01から1年間の記事一覧

長時間ウォーキングのススメ(あるいは娯楽としてのウォーキング)

今日は大晦日です。2021年ももうすぐ終わりかと思うと早いものです。大晦日という日は不思議と心が澄み渡るような気がしてとても好きな日であります。なんていう感傷めいた言葉はおいといて、特に私のブログを読んでくださっている方はエンジニアの方が多く…

プログラミング言語Pascarを作りました

以前、文法がVBぽいだけの言語VBLを作ったわけですが、 kmizu.hatenablog.com 思いつきで昨夜からPascalぽい文法の言語Pascarを作っていました。一通りPascal「ぽい」文法にしたので、sbtがあればビルドして試すことができます: github.com Pascalぽいと言…

WEB+DB Press Vol.125の特集記事「作って学ぶプログラミング言語のしくみ」を執筆しました

色々苦労も多かったですが、無事、全工程を終え、後は発売日の10月23日(土)を待つのみで、感慨もひとしおです。 WEB+DB Press Vol.125 「プログラミング言語を作る」系の書籍や雑誌記事は時々見かけるくらいには珍しくなくなっていますが、構文解析器を記…

大学の時に苦手/得意だった講義

そろそろいい歳したおっさんになった私としては、たまにはこういう思い出話を書くのもいいかなと。あと、なんか私がCSわかってる人みたいに思ってる人Twitterのフォロワーさんに意外と多そうな気がしますが、そうでもないですよ、みたいな話としても、 苦手…

メモリ使用量の削減のために遅延リストを使うのは(多くの場合)アンチパターン

こんばんは。ちょっと久しぶりにScalaの記事を書いてみようと思い立って、こうやって記事を書くことにしました。 といっても、タイトルがほとんど全てを表しているのですけど。 最近のプログラミング言語のいくつかは、俗に遅延リストと称される機能を持って…

パーサコンビネータとPEGの違いについて

ちょっとTwitterの某所で議論を見かけたので、この辺の用語についてまとめておきたい気分です。 まず、パーサコンビネータ(Parser Combinator)というのは、パーサをオブジェクトないし関数ととらえて、パーサを組み合わせて複雑なパーザを組み合わせる技法…