カスタムレキシカルアナライザを使用したエラー回復
エラーリカバリに関する説明はカスタムレキシカルアナライザと互換性が良好ですが、エラーリカバリはパーサーエラーからの回復のみをサポートし、レキシカルアナライザエラーからの回復はサポートしていません。このページでは、レキシカルアナライザエラーからの回復方法を紹介します。
エラーリカバリを有効にするには:
use lalrpop_util::ErrorRecovery;
- parser_def ...
8月19日 16:58 投稿
カスタムレキサーの作成
Whitespace言語のパースにおけるレキサー実装
Whitespace言語をパースする際、次のような文法構造を想定します:
pub Program = <Statement*>;
Statement: ast::Stmt = {
" " <StackOp>,
"\t" " " <MathOp>,
"\t" "\t" <HeapOp>,
"\n" <FlowCtrl>,
"\t" "\n" <Io>,
};
StackOp: ast::Stmt = {
" " <Nu ...
5月23日 21:29 投稿
Mustacheテンプレートエンジンの内部実装とカスタム実装
はじめに
Vueではデータバインディングを実現するためにテンプレート構文が用いられています。この仕組みの核となるのがテンプレートエンジンであり、Mustacheはその代表的な実装として知られています。
データをビューに変換する方法
データをHTMLに変換する主な方法には次のようなものがあります:
DOM操作による方法:JavaScriptで直接DOMを生成して挿入する。
配列のjo ...
5月14日 18:30 投稿