node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org »

glsl-token-depth

glsl-token-depth

experimental

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

NPM

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.