UNPKG

@andrewray/glsl-deparser

Version:

through stream that translates glsl-parser AST nodes into working glsl code

30 lines (25 loc) 785 B
var cssauron_config = { tag: "type", parent: "parent", children: "children" }; var fs = require("fs"), Path = require("path"); var tokenizer = require("glsl-tokenizer")(), parser = require("glsl-parser"), lang = require("cssauron")(cssauron_config), deparser = require("../index"), path = Path.join(__dirname, "working.glsl"), parse_stream = parser(select), is_global_variable = lang(":root > stmt > decl decllist ident"), is_global_function = lang(":root > stmt > decl function > ident"), is_struct = lang(":root > stmt > struct > ident"), lang; function select(x) { return is_global_variable(x) || is_global_function(x) || is_struct(x); } fs.createReadStream(path) .pipe(tokenizer) .pipe(parser()) .pipe(deparser(true)) .pipe(process.stdout);