{"_id":"glsl-parser","_rev":"47-fcce3369a3c1f86ae53ea085daa364bc","name":"glsl-parser","dist-tags":{"latest":"2.0.1"},"versions":{"0.0.0":{"name":"glsl-parser","version":"0.0.0","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.0","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"dist":{"shasum":"1bf2296795f9bca4c7796ccb9e4d5e78e63e5ae8","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.0.tgz","integrity":"sha512-/0EgENzYbFUPyZo0amBj3rMtl8CEN4xUK3W7DLAainNcdFYri+dT2gQNCPHg8GM4PwR0EEiIZkn2hl0JC9A8sw==","signatures":[{"sig":"MEQCIDNx3Bn6L78c4klCsgnxLdgsh22gILkeXvlmknzQRcLkAiBl7x9shd34sd9cI586fauLYqfqJniSvKjtQ6tyMfJdfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"node test/index.js"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.1":{"name":"glsl-parser","version":"0.0.1","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.1","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"dist":{"shasum":"94150879f80e549b38f6904c4dc6963cfd8cd7c1","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.1.tgz","integrity":"sha512-YhIxv2+4LpShtvR94uhydepmL3+X05W6mPSXiA7G46AQ4JgJX7GXkLvt0lDq8sp8Qhh2ldESbtG/2VVW2QdREw==","signatures":[{"sig":"MEYCIQDXqVmv+YdZSsF5U2gYAzEs+5ibz00ow4sn39RGg1F7twIhAK5xhq3ZLpji3JMmTdeGYVnNREx6YOwlCGwTZX65DaOD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"node test/index.js"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.2":{"name":"glsl-parser","version":"0.0.2","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.2","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"dist":{"shasum":"b9ce01b93a113618f4ad011f941ae5452e8772f1","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.2.tgz","integrity":"sha512-wjIMUVpqlmvmAJyR1OuAsstqWLu/Fhrfk94P4s1oBk1zWQpJGVDYGlGGlfJ16tYvXiMtLLf2JmQ6o6ImvTGWsw==","signatures":[{"sig":"MEUCIDqWRJD5IrYthEDuL3CZKMQYcHdK4xSqvvTBGXR2MDG7AiEAujuRmnheP0xqtJJppSz2U1JybO5V5Z05xiUym5TFvGo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"node test/index.js"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.3":{"name":"glsl-parser","version":"0.0.3","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.3","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"dist":{"shasum":"58e1000b2c72d5a4d0e66a72b9e7595ade03d2b4","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.3.tgz","integrity":"sha512-K0EotQ4Rjjhlrg0o1+qkwFqLKr7PDYH1o7gOKTjvv9MGEzUzo+Ny0XdVOIDVH0DF1eYPMyiml5UJEY3izmOolg==","signatures":[{"sig":"MEUCIQCikJ3Svi0AVL//sJSiTgtFRdjEcxLdEYLSP24CepNc6gIgVZTr/mUJ61IGZhwBMWFLTGp56zY4v4gCDhKrvyCucgg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"node test/index.js"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.4":{"name":"glsl-parser","version":"0.0.4","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.4","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"dist":{"shasum":"d3cce8a4f70545a5376dd913a4ff7c1b7fafeaae","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.4.tgz","integrity":"sha512-usLPfLJv3g+mtQjxZLpueCioLXU8QzGanQpAKdWQB/MJXaGTet4NxRwOyerYoUmlN0mTXDMJ6HrY9Tu0m9xbcg==","signatures":[{"sig":"MEQCIA+01XD4IDZLo4OLh5FUE+xQp6N8whi6x3VXAP9X6uc1AiAsFvGJLLHSoEy+JUzlvCH5Ph9NlFCvdbrtI4VY/AB/AQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"node test/index.js"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.5":{"name":"glsl-parser","version":"0.0.5","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.5","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"dist":{"shasum":"87e0a9c9e0caf845ed8e696632d7737a71edde52","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.5.tgz","integrity":"sha512-7Ec9NSuwOVX1HW370D6Eit2l27YsxSE1ZrR3jIqlML5ejrmUiwU+0+sJmrHWlLcCOl7Qv4WdOPHOv//MESnIaw==","signatures":[{"sig":"MEUCIQCeYj1WVkk14g2cVb3QMch+Dl9IgsfEl0Elb0ccZsb61QIgQh0AdvaeZMhzA5Z8LL9tgKHy5/TTMW0pAiNW5IUBGI4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"node test/index.js"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.6":{"name":"glsl-parser","version":"0.0.6","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.6","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/chrisdickinson/glsl-parser","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"dist":{"shasum":"a61760823d38adedaa1a4f0949f512bd716c20d8","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.6.tgz","integrity":"sha512-KXRPuSpGBEzap8zOmCrm4ZsWCWKy6PZzWacX6esO7Rer4augBioaepvoFewiao242caCeCG2g+DtkEF/CHQD0w==","signatures":[{"sig":"MEYCIQCFr9sksyHh4MDeF71xokbCyxjxwlHRDJXkEYAs5FD5SQIhAN/UvgAQF2eR/ZTvzSaTORK4AHNKGPKAtZa1c22+B5J5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node test/index.js"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"_npmVersion":"1.4.3","description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.7":{"name":"glsl-parser","version":"0.0.7","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.7","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/chrisdickinson/glsl-parser","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"dist":{"shasum":"fbf3ad743f8944f587145bdc01f392a35e24004d","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.7.tgz","integrity":"sha512-npfpqEaXlNhuX9pBujcTbSTwggX5OgyTxNUlYUn2IMxsiOb0dZt1pC1MFDHg7G/t8R7q0MYJfYfjklvC0Ocyow==","signatures":[{"sig":"MEUCIBRUg96DYbiZBO5xlH/QVvlZETy1tcfgLFhsLLHM9FWUAiEA/+8Ekt0fWfWulMO3J/hNODDNWxoe67wkwSy8gk05r48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node test/index.js"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"_npmVersion":"1.4.3","description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.8":{"name":"glsl-parser","version":"0.0.8","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.8","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/chrisdickinson/glsl-parser","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"dist":{"shasum":"9d4417bbd0f016656a85984be22985feb08cd788","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.8.tgz","integrity":"sha512-tPoaOJH9TO7/0nOX1CV5siob39qiJvhwSBHeYG33XeYwnVHdKVVf7iLpChakJ9/FQsZW9kJB0eiQmU5eGvSUxw==","signatures":[{"sig":"MEUCIGpbAyeds8JxEJ/cFi9P3zf6jGqLMnGFjRBHmAg1YGsoAiEAn4i0KmZCvxgreNU8pYpgdTWLS7LUfsas4dwrzvgaGNU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"9d4417bbd0f016656a85984be22985feb08cd788","scripts":{"test":"node test/index.js"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"_npmVersion":"1.4.9","description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.2"},"devDependencies":{}},"0.0.9":{"name":"glsl-parser","version":"0.0.9","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@0.0.9","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/chrisdickinson/glsl-parser","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"dist":{"shasum":"3b6bcdc4a87ae2d68f22d3523067fefe26d348f7","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.9.tgz","integrity":"sha512-pOW+AWhIb+qi1OFyIwVkA+KvHcIj2/okYj9QpVww88YkSkkyfHtrEm5dU54ehWvNzNuEjGOuSYJd4sciNx9NEw==","signatures":[{"sig":"MEYCIQDs1HPFGfHB9PJ2DYT38tzkJ9e3ZtkRO5byNWsa6gKr4AIhAIKJgvSffj5+3Xmxrg9w0Ybsd0RzzpIz/0gmNtjdvYH6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"3b6bcdc4a87ae2d68f22d3523067fefe26d348f7","scripts":{"test":"node test/index.js"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"_npmVersion":"1.4.9","description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.9"},"devDependencies":{}},"1.0.0":{"name":"glsl-parser","version":"1.0.0","keywords":["glsl","parser","ast","through","stream"],"author":{"name":"Chris Dickinson","email":"chris@neversaw.us"},"license":"MIT","_id":"glsl-parser@1.0.0","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/chrisdickinson/glsl-parser","bugs":{"url":"https://github.com/chrisdickinson/glsl-parser/issues"},"dist":{"shasum":"10ba05f24dff7838d40aed483affbaa8431c5379","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-1.0.0.tgz","integrity":"sha512-Xf44bVe5/bpS9CvEdS70J1w3VOxFa5d5ZCe0GENAewCYtSWDnyK4sXUBUiSYuCA6FbfYMjyw448Uyt/eHw253g==","signatures":[{"sig":"MEYCIQDM+T8mrnx16Y9NdLxZrROQ9R3DopwJWQfXcHoBjGR9LAIhAJ+VFQfXSHdTS94ZxR2zCC6eKNpXbUGt25jxaqJDZAPO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"10ba05f24dff7838d40aed483affbaa8431c5379","scripts":{"test":"node test/index.js"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"repository":{"url":"git://github.com/chrisdickinson/glsl-parser.git","type":"git"},"_npmVersion":"1.4.9","description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"~1.1.2","glsl-tokenizer":"~0.0.9"},"devDependencies":{}},"1.0.1":{"name":"glsl-parser","version":"1.0.1","keywords":["glsl","parser","ast","through","stream"],"license":"MIT","_id":"glsl-parser@1.0.1","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/gl-modules/glsl-parser","bugs":{"url":"https://github.com/gl-modules/glsl-parser/issues"},"dist":{"shasum":"52d1442db84c1408facfaf9fae989bdad5b7dc9b","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-1.0.1.tgz","integrity":"sha512-/aYc+/Q1rM3/CWBX72IJhsrQXnsVNhcwR7zvRbdlXyG7D4kfat7OCpfgcHdfPyjOcRLXcG1bk+C3CFfyqyqhxA==","signatures":[{"sig":"MEYCIQC5U/CF6HCIfvrxkNGjdqPfCfOUGX/9PaxIJhiGjpvVpAIhAJhcUK3sonmpOmWYz2x2nuMROx+A+79LVBaK5wETG7Ha","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"52d1442db84c1408facfaf9fae989bdad5b7dc9b","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)"],"gitHead":"9a186d2f888e7cf4285ef9488213c12f4bc759f8","scripts":{"test":"node test/index.js"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"repository":{"url":"git://github.com/gl-modules/glsl-parser.git","type":"git"},"_npmVersion":"1.4.14","description":"transform streamed glsl tokens into an ast","directories":{},"dependencies":{"through":"2.3.4","glsl-tokenizer":"^1.0.0"},"devDependencies":{}},"2.0.0":{"name":"glsl-parser","version":"2.0.0","keywords":["glsl","parser","ast","through","stream"],"license":"MIT","_id":"glsl-parser@2.0.0","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/stackgl/glsl-parser","bugs":{"url":"https://github.com/stackgl/glsl-parser/issues"},"dist":{"shasum":"30a6a70aedf49a5a774e2ca85edb63bf34a869a4","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-2.0.0.tgz","integrity":"sha512-NBsqnm68LZSPdUh4liZ5OWSZ8tRtXBYxf7TF0UXLTtPqjHRHhNTec3pLe4bQ93Uo0Hi9KzrxaY/WKBmHrDw+MA==","signatures":[{"sig":"MEUCIFQRLXJENVFFN0N76rEFiELjgQOCTor3MWx/UoeEkyIPAiEAiVTtSL6IMkgbVNb3ldWsOpS8kfWSd/KSeLjMGXsCdUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"stream.js","_from":".","_shasum":"30a6a70aedf49a5a774e2ca85edb63bf34a869a4","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)"],"gitHead":"68e8d641b4c91a6968a8a155d1d321912cb98f7a","scripts":{"test":"node test/index.js | tap-spec"},"_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"repository":{"url":"git://github.com/stackgl/glsl-parser.git","type":"git"},"_npmVersion":"2.5.0","description":"transform streamed glsl tokens into an ast","directories":{},"_nodeVersion":"0.10.36","dependencies":{"through":"2.3.4","through2":"^0.6.3","glsl-tokenizer":"^2.0.0"},"devDependencies":{"tape":"^3.0.2","tap-spec":"^1.0.1"}},"2.0.1":{"name":"glsl-parser","version":"2.0.1","keywords":["glsl","parser","ast","through","stream"],"license":"MIT","_id":"glsl-parser@2.0.1","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"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":"substack","email":"substack@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":"yoshuawuyts@gmail.com"}],"homepage":"https://github.com/stackgl/glsl-parser#readme","bugs":{"url":"https://github.com/stackgl/glsl-parser/issues"},"dist":{"shasum":"3ffac4ee05cc4d8141fd6b1e41e82b3766ff61b9","tarball":"https://registry.npmjs.org/glsl-parser/-/glsl-parser-2.0.1.tgz","fileCount":9,"integrity":"sha512-hcPQtfz0AtxkyooSvim0RsHFNsiHXTY80GX2GtoTpFTImxW3cOINpb0cY6HFKnYkbheQRM7cDzCzzItNT6ZSiA==","signatures":[{"sig":"MEQCIDNOtgoEQy0fNJMYewboUtBHchCcbA3MrK7H9MnrzFFYAiAQkEPu3SaMg3SN7tGp6yhebVCKfTszQStekO/F+apswg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbhP40CRA9TVsSAnZWagAAVTEP/3rd/Mq7Qm0orHnwIdTl\nqbccngWsEc0YN5N7bw/AjsXQETPLnE0KaTctC20WiswRZK91YQrSBbduC45h\nOeI+ZlqV9rLKgt20KaDlLZ9HcsrYRMwbUhbJ+sFVMFp0x1EDWdi9ICC/QYlu\nfnCeVnmQ6Vd7XdeeURMLly4HncrIjZL3Xl26uMfMAzawoSYvH+Igk75P4awU\nJRMB6iPHZj5ZmTsolYhVPMrbFQJP/x354yPGhGguTd4r7+bcAYzi+pkWrj1l\nqzM7f8EwjpBrMEI5nNfioW3xDC6NNBjTdPYSxML5OeDu1CQZ/YejuKKPCLBt\nBjL1W8aNyQrU5RVMHFOE/RY9Y7uOm2qWyNvze9ug3c5cl8xwbKZZ7sTqtzwD\nNr5BaC+L6VrJT9XhEORN7K/xT3M7fiRB8Atkb/lsrAW5LbM8oRAKgZ65F9sK\nebbofES5HXZUppW/+aHp5GXUBupU2XLP/23B+KVK4QTeTm5NjXcu97hFE6bk\nrYYqxUx0NjrsDaO2dpWtcn3OnyDE6Z/HZEzB3Z5oN6yV7P2Wi/OaVriYqAIY\nC7Oyc/0wYH/XAjK1UYIEqi1rhe57RO18/qZRAb9sbYyaMyHM9+ge7mBJ/z6z\nuLhSTeddi3WjIVSdXzwnggpPRZ1tYaOqfIzw6uoW1r+/+gODrQQpNo8DO7fS\najQc\r\n=Av1s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"stream.js","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)"],"gitHead":"2fd07f669ce50bfdf09dbfb9b42d290dd5d1028c","scripts":{"test":"node test/index.js | tap-spec"},"_npmUser":{"name":"dfcreative","email":"df.creative@gmail.com"},"repository":{"url":"git://github.com/stackgl/glsl-parser.git","type":"git"},"_npmVersion":"6.2.0","description":"transform streamed glsl tokens into an ast","directories":{},"_nodeVersion":"8.11.1","dependencies":{"through":"2.3.4","through2":"^0.6.3","glsl-tokenizer":"^2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^3.0.2","tap-spec":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/glsl-parser_2.0.1_1535442483643_0.48874167709035876","host":"s3://npm-registry-packages"}}},"time":{"created":"2012-11-20T09:07:14.420Z","modified":"2024-12-29T00:47:02.498Z","0.0.0":"2012-11-20T09:07:15.282Z","0.0.1":"2012-11-24T01:14:09.635Z","0.0.2":"2012-11-25T10:34:31.547Z","0.0.3":"2012-11-28T07:31:53.173Z","0.0.4":"2012-11-28T08:44:07.625Z","0.0.5":"2012-12-02T07:52:49.783Z","0.0.6":"2014-04-04T22:36:25.046Z","0.0.7":"2014-04-24T23:36:56.960Z","0.0.8":"2014-05-24T21:55:20.075Z","0.0.9":"2014-05-25T01:21:03.138Z","1.0.0":"2014-06-27T23:35:23.194Z","1.0.1":"2014-07-05T21:29:46.352Z","2.0.0":"2015-03-06T23:23:57.365Z","2.0.1":"2018-08-28T07:48:03.740Z"},"bugs":{"url":"https://github.com/stackgl/glsl-parser/issues"},"license":"MIT","homepage":"https://github.com/stackgl/glsl-parser#readme","keywords":["glsl","parser","ast","through","stream"],"repository":{"url":"git://github.com/stackgl/glsl-parser.git","type":"git"},"description":"transform streamed glsl tokens into an ast","maintainers":[{"email":"mikolalysenko@gmail.com","name":"mikolalysenko"},{"email":"wwwtyro@gmail.com","name":"wwwtyro"},{"email":"thibaut.seguy@gmail.com","name":"thibauts"},{"email":"me@mikkoh.com","name":"mikkoh"},{"email":"df.creative@gmail.com","name":"dfcreative"},{"email":"javascript@yosh.is","name":"yoshuawuyts"},{"email":"dave.des@gmail.com","name":"mattdesl"},{"email":"hughskennedy@gmail.com","name":"hughsk"},{"email":"chris@neversaw.us","name":"chrisdickinson"},{"email":"tatum.creative@gmail.com","name":"tatumcreative"}],"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","readmeFilename":"README.md"}