{"_id":"glsl-parser","_rev":"404044","name":"glsl-parser","description":"transform streamed glsl tokens into an ast","dist-tags":{"latest":"2.0.1"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"time":{"modified":"2021-08-04T04:42:32.000Z","created":"2012-11-20T09:07:15.282Z","2.0.1":"2018-08-28T07:48:03.740Z","2.0.0":"2015-03-06T23:23:57.365Z","1.0.1":"2014-07-05T21:29:46.352Z","1.0.0":"2014-06-27T23:35:23.194Z","0.0.9":"2014-05-25T01:21:03.138Z","0.0.8":"2014-05-24T21:55:20.075Z","0.0.7":"2014-04-24T23:36:56.960Z","0.0.6":"2014-04-04T22:36:25.046Z","0.0.5":"2012-12-02T07:52:49.783Z","0.0.4":"2012-11-28T08:44:07.625Z","0.0.3":"2012-11-28T07:31:53.173Z","0.0.2":"2012-11-25T10:34:31.547Z","0.0.1":"2012-11-24T01:14:09.635Z","0.0.0":"2012-11-20T09:07:15.282Z"},"users":{"jantosi":true},"repository":{"type":"git","url":"git://github.com/stackgl/glsl-parser.git"},"versions":{"2.0.1":{"name":"glsl-parser","version":"2.0.1","description":"transform streamed glsl tokens into an ast","main":"stream.js","dependencies":{"glsl-tokenizer":"^2.1.4","through":"2.3.4","through2":"^0.6.3"},"devDependencies":{"tap-spec":"^1.0.1","tape":"^3.0.2"},"scripts":{"test":"node test/index.js | tap-spec"},"repository":{"type":"git","url":"git://github.com/stackgl/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"authors":["Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io/)","Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"license":"MIT","gitHead":"2fd07f669ce50bfdf09dbfb9b42d290dd5d1028c","bugs":{"url":"https://github.com/stackgl/glsl-parser/issues"},"homepage":"https://github.com/stackgl/glsl-parser#readme","_id":"glsl-parser@2.0.1","_npmVersion":"6.2.0","_nodeVersion":"8.11.1","_npmUser":{"name":"dfcreative","email":"df.creative@gmail.com"},"dist":{"shasum":"3ffac4ee05cc4d8141fd6b1e41e82b3766ff61b9","size":9649,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-2.0.1.tgz"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/glsl-parser_2.0.1_1535442483643_0.48874167709035876"},"_hasShrinkwrap":false,"publish_time":1535442483740,"_cnpm_publish_time":1535442483740},"2.0.0":{"name":"glsl-parser","version":"2.0.0","description":"transform streamed glsl tokens into an ast","main":"stream.js","dependencies":{"glsl-tokenizer":"^2.0.0","through":"2.3.4","through2":"^0.6.3"},"devDependencies":{"tap-spec":"^1.0.1","tape":"^3.0.2"},"scripts":{"test":"node test/index.js | tap-spec"},"repository":{"type":"git","url":"git://github.com/stackgl/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"authors":["Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io/)","Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"license":"MIT","gitHead":"68e8d641b4c91a6968a8a155d1d321912cb98f7a","bugs":{"url":"https://github.com/stackgl/glsl-parser/issues"},"homepage":"https://github.com/stackgl/glsl-parser","_id":"glsl-parser@2.0.0","_shasum":"30a6a70aedf49a5a774e2ca85edb63bf34a869a4","_from":".","_npmVersion":"2.5.0","_nodeVersion":"0.10.36","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"30a6a70aedf49a5a774e2ca85edb63bf34a869a4","size":9634,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-2.0.0.tgz"},"directories":{},"publish_time":1425684237365,"_cnpm_publish_time":1425684237365,"_hasShrinkwrap":false},"1.0.1":{"name":"glsl-parser","version":"1.0.1","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"^1.0.0","through":"2.3.4"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/gl-modules/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"authors":["Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io/)","Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"license":"MIT","gitHead":"9a186d2f888e7cf4285ef9488213c12f4bc759f8","bugs":{"url":"https://github.com/gl-modules/glsl-parser/issues"},"homepage":"https://github.com/gl-modules/glsl-parser","_id":"glsl-parser@1.0.1","_shasum":"52d1442db84c1408facfaf9fae989bdad5b7dc9b","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"52d1442db84c1408facfaf9fae989bdad5b7dc9b","size":9443,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-1.0.1.tgz"},"directories":{},"publish_time":1404595786352,"_cnpm_publish_time":1404595786352,"_hasShrinkwrap":false},"1.0.0":{"name":"glsl-parser","version":"1.0.0","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.9","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"homepage":"https://github.com/chrisdickinson/glsl-parser","_id":"glsl-parser@1.0.0","_shasum":"10ba05f24dff7838d40aed483affbaa8431c5379","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"10ba05f24dff7838d40aed483affbaa8431c5379","size":9381,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-1.0.0.tgz"},"directories":{},"publish_time":1403912123194,"_cnpm_publish_time":1403912123194,"_hasShrinkwrap":false},"0.0.9":{"name":"glsl-parser","version":"0.0.9","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.9","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"homepage":"https://github.com/chrisdickinson/glsl-parser","_id":"glsl-parser@0.0.9","_shasum":"3b6bcdc4a87ae2d68f22d3523067fefe26d348f7","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"3b6bcdc4a87ae2d68f22d3523067fefe26d348f7","size":9320,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.9.tgz"},"directories":{},"publish_time":1400980863138,"_cnpm_publish_time":1400980863138,"_hasShrinkwrap":false},"0.0.8":{"name":"glsl-parser","version":"0.0.8","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"homepage":"https://github.com/chrisdickinson/glsl-parser","_id":"glsl-parser@0.0.8","_shasum":"9d4417bbd0f016656a85984be22985feb08cd788","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"9d4417bbd0f016656a85984be22985feb08cd788","size":9261,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.8.tgz"},"directories":{},"publish_time":1400968520075,"_cnpm_publish_time":1400968520075,"_hasShrinkwrap":false},"0.0.7":{"name":"glsl-parser","version":"0.0.7","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"homepage":"https://github.com/chrisdickinson/glsl-parser","_id":"glsl-parser@0.0.7","dist":{"shasum":"fbf3ad743f8944f587145bdc01f392a35e24004d","size":9247,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.7.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1398382616960,"_cnpm_publish_time":1398382616960,"_hasShrinkwrap":false},"0.0.6":{"name":"glsl-parser","version":"0.0.6","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"homepage":"https://github.com/chrisdickinson/glsl-parser","_id":"glsl-parser@0.0.6","dist":{"shasum":"a61760823d38adedaa1a4f0949f512bd716c20d8","size":9223,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.6.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1396650985046,"_cnpm_publish_time":1396650985046,"_hasShrinkwrap":false},"0.0.5":{"name":"glsl-parser","version":"0.0.5","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.5","dist":{"shasum":"87e0a9c9e0caf845ed8e696632d7737a71edde52","size":9217,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.5.tgz"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1354434769783,"_cnpm_publish_time":1354434769783,"_hasShrinkwrap":false},"0.0.4":{"name":"glsl-parser","version":"0.0.4","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.4","dist":{"shasum":"d3cce8a4f70545a5376dd913a4ff7c1b7fafeaae","size":9212,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.4.tgz"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1354092247625,"_cnpm_publish_time":1354092247625,"_hasShrinkwrap":false},"0.0.3":{"name":"glsl-parser","version":"0.0.3","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.3","dist":{"shasum":"58e1000b2c72d5a4d0e66a72b9e7595ade03d2b4","size":9156,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.3.tgz"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1354087913173,"_cnpm_publish_time":1354087913173,"_hasShrinkwrap":false},"0.0.2":{"name":"glsl-parser","version":"0.0.2","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2","through":"~1.1.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.2","dist":{"shasum":"b9ce01b93a113618f4ad011f941ae5452e8772f1","size":9148,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.2.tgz"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1353839671547,"_cnpm_publish_time":1353839671547,"_hasShrinkwrap":false},"0.0.1":{"name":"glsl-parser","version":"0.0.1","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.1","dist":{"shasum":"94150879f80e549b38f6904c4dc6963cfd8cd7c1","size":9235,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.1.tgz"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1353719649635,"_cnpm_publish_time":1353719649635,"_hasShrinkwrap":false},"0.0.0":{"name":"glsl-parser","version":"0.0.0","description":"transform streamed glsl tokens into an ast","main":"index.js","dependencies":{"glsl-tokenizer":"~0.0.2"},"devDependencies":{},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/chrisdickinson/glsl-parser.git"},"keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.0","dist":{"shasum":"1bf2296795f9bca4c7796ccb9e4d5e78e63e5ae8","size":7700,"noattachment":false,"key":"/glsl-parser/-/glsl-parser-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/glsl-parser/download/glsl-parser-0.0.0.tgz"},"maintainers":[{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"mikkoh","email":"me@mikkoh.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"rezaali","email":"syed.reza.ali@gmail.com"},{"name":"tatumcreative","email":"tatum.creative@gmail.com"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"wwwtyro","email":"wwwtyro@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"directories":{},"publish_time":1353402435282,"_cnpm_publish_time":1353402435282,"_hasShrinkwrap":false}},"readme":"# glsl-parser\r\n\r\n![](http://img.shields.io/badge/stability-stable-green.svg?style=flat)\r\n![](http://img.shields.io/npm/v/glsl-parser.svg?style=flat)\r\n![](http://img.shields.io/npm/dm/glsl-parser.svg?style=flat)\r\n![](http://img.shields.io/npm/l/glsl-parser.svg?style=flat)\r\n\r\nA GLSL parser that takes tokens from\r\n[glsl-tokenizer](http://github.com/stackgl/glsl-tokenizer) and turns them into\r\nan AST.\r\n\r\nMay either be used synchronously or as a stream.\r\n\r\n## API\r\n\r\n### `stream = require('glsl-parser/stream')`\r\n\r\nCreates a GLSL parser stream, which emits nodes as they're parsed.\r\n\r\n``` javascript\r\nvar TokenStream = require('glsl-tokenizer/stream')\r\nvar ParseStream = require('glsl-parser/stream')\r\nvar fs = require('fs')\r\n\r\nfs.createReadStream('test.glsl')\r\n  .pipe(TokenStream())\r\n  .pipe(ParseStream())\r\n  .on('data', function(x) {\r\n    console.log('ast of', x.type)\r\n  })\r\n```\r\n\r\n### `ast = stream.program`\r\n\r\nThe full program's AST, which will be updated with each incoming token.\r\n\r\n### `ast = require('glsl-parser/direct')(tokens)`\r\n\r\nSynchronously parses an array of tokens from `glsl-tokenizer`.\r\n\r\n``` javascript\r\nvar TokenString = require('glsl-tokenizer/string')\r\nvar ParseTokens = require('glsl-parser/direct')\r\nvar fs = require('fs')\r\n\r\nvar src = fs.readFileSync('test.glsl', 'utf8')\r\nvar tokens = TokenString(src)\r\nvar ast = ParseTokens(tokens)\r\n\r\nconsole.log(ast)\r\n```\r\n\r\n## Nodes\r\n\r\n* `stmtlist`\r\n* `stmt`\r\n* `struct`\r\n* `function`\r\n* `functionargs`\r\n* `decl`\r\n* `decllist`\r\n* `forloop`\r\n* `whileloop`\r\n* `if`\r\n* `expr`\r\n* `precision`\r\n* `comment`\r\n* `preprocessor`\r\n* `keyword`\r\n* `ident`\r\n* `return`\r\n* `continue`\r\n* `break`\r\n* `discard`\r\n* `do-while`\r\n* `binary`\r\n* `ternary`\r\n* `unary`\r\n\r\n## Known Issues\r\n\r\n* because i am not smart enough to write a fully streaming parser, the current parser \"cheats\" a bit when it encounters a `expr` node! it actually waits until it has all the tokens it needs to build a tree for a given expression, then builds it and emits the constituent child nodes in the expected order. the `expr` parsing is heavily influenced by [crockford's tdop article](http://javascript.crockford.com/tdop/tdop.html). the rest of the parser is heavily influenced by fever dreams.\r\n\r\n* the parser might hit a state where it's looking at what *could be* an expression, or it could be a declaration --\r\nthat is, the statement starts with a previously declared `struct`. it'll opt to pretend it's a declaration, but that\r\nmight not be the case -- it might be a user-defined constructor starting a statement!\r\n\r\n* \"unhygenic\" `#if` / `#endif` macros are completely unhandled at the moment, since they're a bit of a pain.\r\nif you've got unhygenic macros in your code, move the #if / #endifs to statement level, and have them surround\r\nwholly parseable code. this sucks, and i am sorry.\r\n\r\n## License\r\n\r\nMIT, see [LICENSE.md](LICENSE.md) for more details.\r\n","_attachments":{},"homepage":"https://github.com/stackgl/glsl-parser#readme","bugs":{"url":"https://github.com/stackgl/glsl-parser/issues"},"license":"MIT"}