Infer the scope of each token in an array of GLSL tokens
npm install glsl-token-scope
Infer the scope of each token in an array of GLSL tokens.

Where tokens is an array of tokens returned fromglsl-tokenizer. Each token will
be modified in-place, and given scope and stack properties.
token.scope is a unique number for the token's current scope.
token.stack is an array containing the scopes available to the current token.
Note that you must first determine the scope depth of each token usingglsl-token-depth
`` javascript
var tokenize = require('glsl-tokenizer/string')
var depth = require('glsl-token-depth')
var scope = require('glsl-token-scope')
var fs = require('fs')
var src = fs.readFileSync('shader.frag', 'utf8')
var tokens = tokenize(src)
depth(tokens)
scope(tokens)
tokens[0].scope // 0
tokens[1].scope // 0
tokens[2].scope // 1
tokens[3].scope // 1
tokens[4].scope // 0
tokens[5].scope // 2
// ...
tokens[0].stack // [0]
tokens[1].stack // [0]
tokens[2].stack // [0, 1]
tokens[3].stack // [0, 1]
tokens[4].stack // [0]
tokens[5].stack // [0, 2]
// ...
``
* stackgl/glsl-tokenizer
* stackgl/glsl-token-depth
MIT. See LICENSE.md for details.