タグ

2018年6月19日のブックマーク (2件)

  • 『Writing An Interpreter In Go / Go言語でつくるインタプリタ』 #golang - razokulover publog

    Writing An Interpreter In Goというを読んだ。 このはMonkeyという言語のインタプリタをGo言語で実装するという内容。 全編英語だが、200ページほどだし語り口も面白くてわかりやすいので読みやすい。 流れとしては大きくLexer・Parser・Evaluaterの章に分かれていて、それぞれ字句解析〜抽象構文木〜評価器をGoの標準機能だけで実装していく感じ。 Parserの部分ではyaccなどの既存ツールを使わずにPratt ParserというJS Lintでも使われている手法を用いて実装していくところが特に面白かった。 Pratt Parserについてはググってもあんまり情報が出てこなかったけど、いくつか英語のエントリがあって特に下記のPythonで解説してくれてるやつがわかりやすかった。 Top-Down operator precedence pars

    『Writing An Interpreter In Go / Go言語でつくるインタプリタ』 #golang - razokulover publog
  • 治安の悪い Slack Emoji を作るツールを作った - Qiita

    (治安の悪くない Emoji も作れます) 作ったもの ここで遊べます おもしろいところ GIF アニメのエンコードまですべて js で完結しているので、ありがちな「謎のサーバーに画像アップロードするといい感じに変換してくれる」的なサービスと違って、素性の知れたコードがクライアント側でサクサク動きます。 なにができるの? 画像を 128px x 128px に変形 画像を、 Slack にアップロードできる(現状)最大サイズの 128px x 128px に変形します。 ローカルのファイルから選ぶか、画像の URL を入力できます。アップロードするわけではないので、デカい画像でもサクサクなのがお気に入りです。 変形は 正方形に引き伸ばし(アス比無視) 正方形いっぱいに拡大して、余ったところはトリミング(アス比維持) 正方形に収まるように縮める(アス比維持) から選べます。 テキストから画像

    治安の悪い Slack Emoji を作るツールを作った - Qiita