カスタムレキサーの作成

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 投稿