1.1 KiB
1.1 KiB
glsl-token-depth
Determine the scope depth of an array of GLSL tokens.
Useful for inferring the scope of variables in a GLSL shader without having to fully parse the source.
Usage
depth(tokens)
Where tokens
is an array of tokens returned from
glsl-tokenizer
. Each token will
be modified in-place, and given a depth
property.
var tokenize = require('glsl-tokenizer/string')
var depth = require('glsl-token-depth')
var fs = require('fs')
var src = fs.readFileSync('shader.frag', 'utf8')
var tokens = tokenize(src)
depth(tokens)
tokens[0].depth // 0
tokens[1].depth // 0
tokens[2].depth // 0
tokens[3].depth // 0
tokens[4].depth // 1
// ...
See Also
License
MIT. See LICENSE.md for details.