ん?もしかして「locale.json」とかをいじる必要なくなったか?https://code.visualstudio.com/からWindows版をDL&Installして起動したら英語画面。Installerは日本語だったのにね。なので、日本語のLanguage Packを追加インストール。手順は画面左の四角っ…
Google謹製ブラウザ操作自動化ツールPuppeteer。この手の処理はずっとUWSCで書いてたけど、いろいろあってAutoITに乗り移ろうかと考えていたところ。でもPuppeteerは、スクリプトをJavaScriptで書けるのが魅力だよね、と思って↓を購入。 Puppeteer入門 スク…
そうでもなけりゃ、こんなところで、コーヒー飲みながら読書するわけないって(笑。さて今日読んだのはこれ↓ 会社に雇われずにフリーで働く! と決めたら読む本 (アスカビジネス) 作者: 立野井一恵 出版社/メーカー: 明日香出版社 発売日: 2018/02/14 メディ…
昔、Amazon Workspaceは使っていたけど、EC2とかは未経験。なので、無料枠を利用してちょっとやってみた。利用したテキストはこれ↓。 Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版 作者: 玉川憲,片山暁雄,今井雄太,大澤文孝 出版社/メ…
ユーザー企業もいいけど、先日読んだ 社員ゼロ! 会社は「1人」で経営しなさい (アスカビジネス) 作者: 山本憲明 出版社/メーカー: 明日香出版社 発売日: 2017/11/13 メディア: 単行本(ソフトカバー) この商品を含むブログを見る に書かれている「 これから…
午前中は客先打ち合わせ。ふつーの社員は終わり次第帰社するだろうけど、不真面目社員は違うw。期初で仕事がないから、帰っても収益につながらない。それならばこの時間を自分の勉強にあてるべし、と考える。そんなわけで、コーヒショップが併設された大型書…
たぶんあちらが目指すのは「カンナエの戦い」。こちらは「堅壁清野」で対抗。準備を急がねば。
あるブログ記事を読んで連想したのが↑のフレーズ。テクノロジーはものすごく発達したけど、同時に、それまでにない新しい不便さも感じる。S/N比を悪化させる雑音というか、「機動戦士ガンダム」の「ミノフスキー粒子」のような見通しを悪くする存在というか…
あちらこちらに書き散らかしたブログを統合して、記事を整理。それでも投稿数は1,000以上ある。よく書いたな。
潮時。この潮目は変えられない。そういうこと。
言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装までのサンプルコードはhttp://www.oreilly.co.jp/books/9784873115320/の[関連ファイル]から入手できるけど*1、この中に含まれているANTLRはv3.2とちょっと古い。そのせいか、Java8でorg.an…
Chapter 6,Exploring Some Real Grammarsの1回目が終ったので、録り溜めしたブラタモリなどを消化。明日は仕事始め。とは言っても、挨拶と事務処理で終わりそうだから、仕事再開は明後日。また萌えない燃えない日々が始まる。
お雑煮を食べてる最中、いきなり「今年の目標は?」。はぁ~。リバースピラミッドで言えばもうバックオフセットなので、いまさらどうこうしたいという向上心は無い。なので「上海とか台湾で遊ぶ」って言いたかったけど、それはそれで揉めそうなので、「もっ…
4.5 Cool Lexical Features ANTLRには紹介する価値のある字句関連の機能が3つある。1つはXMLのような、1つのファイルに異なる字句構造(タグの内側/外側)をもつような形式の扱い方。次は入力ストリームを微調整してJavaクラスにフィールドを挿入する方法。…
4.4 Making Things Happen During th Parse リスナーとビジターは、アプリ固有コードと文法を分離することで、文法を読みやすくし、特定のアプリともつれあうのを防ぐのに役立っている。しかしながら最大限の柔軟性と制御を得るため、文法に直接コードの断片…
4.3 Building a Translator with a Listener ボスがあなたにJavaクラス定義のメソッドからJavaインタフェースを生成するツールを作成するよう命じたとしよう。もしあなたがジュニアプログラマならパニックに陥るだろう。熟練のJava開発者なら、メソッドシグ…
4.2 Building Calculator Using a Visitor 前節の算術式構文解析器は、値を計算するために少々Javaでコードを書く必要があった。ANTLR v4は私たちに文法をクリーンなままにし、言語アプリを実装するため構文解析木訪問器やその他の訪問器を使うよう促してい…
ここまでANTLRのインストール方法、キープロセス、専門用語、言語アプリを作成するのに必要の部品の作り方、などを学んだ。この章ではANTLRの能力を説明する幾つかのサンプルを通して、ANTLRを駆け足で見ていく。簡略化のため詳細の多くは軽く扱うが、完全に…
3.4 Building a Language Application 配列初期子のサンプルを続ける。次のゴールは初期化子の認識だけでなく、変換すること。たとえば、{99,3,451}のようなJavaのshort配列を"\u0063\u0003\u01c3"へ変換する(63は99の16進表現)。 認識を超えて移動するため…
3.3 Integrating a Generated Parser into a Java Program 文法で良いスタートが切れれば、ANTLRが生成したコードをより大きなアプリへ統合できる。ここでは、初期化子パーサーを起動し、TestRigの-treeオプションに似た構文解析木を出力するシンプルなmain(…
今朝、Macfeeインターネットスキャンが「リアルタイムスキャンが無効です」と言ってるのに気がついた。なんだってー。「有効にする」をクリックしても、すぐ「無効」になる。再起動しても同じ。ぐぐったら、こんなのがヒット。 McTriageツールを使用してリア…
最初のプロジェクトは、とても小さなC言語、あるいはJava派生言語のサブセットの文法構築。特に整数、もしかすると{1,2,3}, {1,{2,3},4}のようにネストしているかもしれない、を認識する。これらの構成物はintの配列、またはstructの初期化子になれるかもし…
業務用はいろいろと大人の事情があってIE8。調べもの用は、その限りではない。真っ先にインストールしたのは、自宅PCで使い慣れてるChrome。ただしこいつは大メモリ喰い。プロセスが10個くらい立ち上がるので、メモリ3GBの業務用PCではかなり辛い。軽いブラ…
2.5 Parse-Tree Listeners and Visitors ANTLRは実行時ライブラリで2つの木走査メカニズムを提供する。デフォルトでは、ANTRLはビルトインの木走査器によって駆動されるイベントに反応する構文解析木のリスナーインタフェースを生成する。リスナー自身、XML…
2.4 Building Language Applications Using Pars Tree 言語アプリを作るには、入力したそれぞれの句に対して適切なコードを実行する必要がある。最も簡単な方法は、構文解析器によって自動的に作られた構文解析木を操作すること。構文解析木の操作で良いこと…
2.3 You Can't Put Too Much Water into a Nuclear Reactor 曖昧な句、文は複数の解釈を持つもの。言い換えると、複数の文法構造に当てはまる語ということ。自然言語では曖昧さは面白いが、コンピュータベースの言語アプリでは問題を引き起こす。句を解釈あ…
2.2 Implementing Parsers ANTLRは文法規則から再帰的下向き構文解析器(recursive-descent parser)を生成する。再帰的下向き構文解析器は規則に付き1つの再帰メソッドの集合。下向き(descent)という用語は、構文解析が構文解析木の根(ルート;root)から始ま…
2.1 Let's Meta! 言語を実装するには、文を読んで、そこから見つけた句や入力記号に対して適切に反応するアプリを作る必要がある。もしあるアプリが計算する、あるいは文を「実行する」場合、そのアプリをインタプリタと呼ぶ(例としては、計算機、設定ファイ…
1.2 Executing ANTLR and Testing Recognizer Hello.g4は"hello parrt"、"hello world"のようなフレーズを認識する*1簡単な文法 grammar Hello; r : 'hello' ID ; ID : [a-z]+ ; WS : [ \t\r\n]+ -> skip ; grammarに続く"Hello"が文法名。ANTLRでは文法を格…
なんというかSublime Textつーか、ATOM風の画面。ちょっとJavaソースを見るときに、秀丸ではなんだし、かと言ってEclipseを持ち出すまでもない、といった用途に使えそう。これでAtomのプラグインが使えたら便利なんだけどね。まぁそれならAtom使えばいいんだ…