私が気にする100の事象

気にしなければ始まらない。

gnuplotを久しぶりに触った

昨日の日記(12021年4月29日)です。 天気は雨。 電波は少し悪い。

学校

色々あって休校になりました。

Wantedly

ベロイさんにWantedlyを紹介してもらったので、 早速登録してみました。

とりあえず作っただけで、 プロフィールは半分くらいしかできていませんが、 これから埋めていきたいです。 公開範囲をどうしようか考え中です。

ロジバンはPythonより複雑だ

これは僕が勝手に言い出したことなのですが、 ロジバンの文法はPythonの文法より複雑です。

github.com

github.com

上記はPythonのPEG文法とロジバンのPEG文法へのリンクです。 コメント行や空行を除くと、 PythonのPEG文法は770行なのに対して、 ロジバンのPEG文法は819行であることがわかります。 つまり、ロジバンの文法はPythonの文法より複雑です。

これだけ聞くと、「異議あり」と思われる方もいると思います。 というのもPython(というかほとんどのプログラミング言語)では字句解析と構文解析は別の処理となっています。 PEG文法で記述する部分は構文解析のみで、 字句解析はPEG文法とは別の方法で書かれています。 一方でロジバンは字句解析に当たるような部分までPEG文法で書かれています。 つまりロジバンのPEG文法で書かれている量が多いからといって、 単純に、ロジバンがPythonより複雑であるわけではないということです。 たしかにそうですね。

しかし、ロジバンがなぜ字句解析に当たるような部分までPEG文法で書かれているかを考えると、 やっぱりPythonよりロジバンの方が文法が複雑ではないかという気持ちになります。 というのも、Pythonではトークン(単語)の区切りがかなり単純です。 「基本的にスペースで単語で区切り、演算子のような記号と英数字が違うときはスペースを省略してもいいよ」といったようなシンプルなルールです。(厳密にはもっと複雑かもしれませんが) 例えば、Pythonではa = 1 + 1a=1+1というふうにスペースを空けなくてもいいですよね。 一方、ロジバンでは引用とかSA類、SI類、SU類の挙動が複雑な単語が多く、 構文解析が字句解析に食い込む形になってしまいます。 分けようと思えば分けられるはずですが、 字句解析と構文解析を一緒くたにして処理した方が効率がいいということになったのでしょう、 現行文法では字句解析に当たる部分もPEGで書かれています。

こういうことを考えると、 やっぱりロジバンはPythonより文法が複雑なのではないでしょうか?

プログラミング

LaTeXとか、 Juliaとか、 null安全とかについて調べたり話したりしました。

LaTeXLaTeX Cloudがおすすめですよ!

Juliaはよくわかりません。

null安全はよくわかりません。 RustでいうところのOptional型であることはわかったのですが、 もっと本質的なことを理解していないような気がするので、 要チェックです。

gnuplotを久しぶりに触った

gnuplotを久しぶりに触りました。 今はscoopを使ってscoop install gnuplotとするだけで、 簡単にWindows 10でgnuplotを使うことができます。 非常に気軽に試すことができて、 感動しました。

ただ、gnuplotに関する資料がだいたい20年前ばかりのものであることが気になります。 最近ではもっと違う描画ソフトを使うのでしょうか? おすすめでよく使われているものがあったらぜひ教えて下さい。