glsl: Eliminate reduce/reduce conflicts in glsl grammar
glsl: Eliminate reduce/reduce conflicts in glsl grammar

This requires lexical disambiguation between variable and type
identifiers (as most C compilers do).

Signed-off-by: Keith Packard <keithp@keithp.com>

NOTE: This is a candidate for the 7.9 and 7.10 branches.

KTXSoftware/glsl2agal,benaadams/glsl-optimizer,wolf96/glsl-optimizer,zz85/glsl-optimizer,djreep81/glsl-optimizer,tokyovigilante/glsl-optimizer,adobe/glsl2agal,dellis1972/glsl-optimizer,adobe/glsl2agal,tokyovigilante/glsl-optimizer,mcanthony/glsl-optimizer,zz85/glsl-optimizer,benaadams/glsl-optimizer,benaadams/glsl-optimizer,wolf96/glsl-optimizer,metora/MesaGLSLCompiler,tokyovigilante/glsl-optimizer,jbarczak/glsl-optimizer,benaadams/glsl-optimizer,mapbox/glsl-optimizer,djreep81/glsl-optimizer,tokyovigilante/glsl-optimizer,zz85/glsl-optimizer,bkaradzic/glsl-optimizer,jbarczak/glsl-optimizer,zz85/glsl-optimizer,jbarczak/glsl-optimizer,wolf96/glsl-optimizer,metora/MesaGLSLCompiler,KTXSoftware/glsl2agal,tokyovigilante/glsl-optimizer,KTXSoftware/glsl2agal,djreep81/glsl-optimizer,wolf96/glsl-optimizer,jbarczak/glsl-optimizer,zeux/glsl-optimizer,zeux/glsl-optimizer,KTXSoftware/glsl2agal,jbarczak/glsl-optimizer,bkaradzic/glsl-optimizer,adobe/glsl2agal,bkaradzic/glsl-optimizer,wolf96/glsl-optimizer,zz85/glsl-optimizer,mapbox/glsl-optimizer,dellis1972/glsl-optimizer,mapbox/glsl-optimizer,djreep81/glsl-optimizer,benaadams/glsl-optimizer,dellis1972/glsl-optimizer,mcanthony/glsl-optimizer,adobe/glsl2agal,mapbox/glsl-optimizer,bkaradzic/glsl-optimizer,mcanthony/glsl-optimizer,bkaradzic/glsl-optimizer,metora/MesaGLSLCompiler,zeux/glsl-optimizer,adobe/glsl2agal,dellis1972/glsl-optimizer,djreep81/glsl-optimizer,benaadams/glsl-optimizer,dellis1972/glsl-optimizer,mcanthony/glsl-optimizer,mapbox/glsl-optimizer,zeux/glsl-optimizer,zz85/glsl-optimizer,mcanthony/glsl-optimizer,KTXSoftware/glsl2agal,zeux/glsl-optimizer