================ @@ -0,0 +1,114 @@ +//===--- Mustache.h ---------------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// Implementation of the Mustache templating language supports version 1.4.2 +// currently relies on llvm::json::Value for data input +// See the Mustache spec for more information +// (https://mustache.github.io/mustache.5.html). +// +// Current Features Supported: +// - Variables +// - Sections +// - Inverted Sections +// - Partials +// - Comments +// - Lambdas +// - Unescaped Variables +// +// Features Not Supported: +// - Set Delimiter +// - Blocks +// - Parents +// - Dynamic Names +// +// The Template class is container class outputs the Mustache template string +// and is main class for users. It stores all the lambdas and the ASTNode Tree. +// When the Template is instantiated it tokenize the Template String and +// creates a vector of Tokens. Then it calls a basic recursive descent parser +// to construct the ASTNode Tree. The ASTNodes are all stored in an arena +// allocator which is freed once the template class goes out of scope +// +// Usage: ---------------- nicovank wrote:
Usage is now stream-based, right? https://github.com/llvm/llvm-project/pull/105893 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits