StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
4 years ago | |
---|---|---|
.. | ||
.npmignore | 4 years ago | |
LICENSE.md | 4 years ago | |
README.md | 4 years ago | |
index.js | 4 years ago | |
package.json | 4 years ago |
README.md
glsl-token-scope
Infer the scope of each token in an array of GLSL tokens.
Usage
scope(tokens)
Where tokens
is an array of tokens returned from
glsl-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 using
glsl-token-depth
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]
// ...
See Also
License
MIT. See LICENSE.md for details.