KhronosGroup / KhronosGroup/glslang

Hope the GLSL programming language supports Unicode identifiers.

Open
#4,323 1 comment 0 reactions 0 assignees View on GitHub
enhancement GLSL/ESSL
Dominant language
C++
Stars
3.6k
Forks
989
Avg merge
1d 2h
Merged PRs (30d)
31

Description

According to the GLSL syntax specification, [identifiers are only allowed to use ASCII characters (a-z, A-Z, 0-9, _)](https://docs.vulkan.net.cn/glsl/latest/chapters/basics.html),

but I think this rule for naming identifiers is too strict and not friendly for the internationalization of programming languages, especially for non-English native users, particularly East Asian users.

Languages like C/C++, C#, Python, Java, JavaScript, Rust, and so on all allow using characters outside of ASCII to name tokens. Especially WGSL, which is also a shader language, but [WGSL follows the Unicode Standard Annex #31 specification.](https://gpuweb.github.io/gpuweb/wgsl/#identifiers)

So, I hope GLSL shader language can relax the restrictions on token characters and come up with a new language specification that follows the UAX #31 standard.

Contributor guide

Open the contributing guide

Research direction

The issue names no repository files, tests, or entry points. Start with the linked GLSL identifier syntax specification and WGSL's UAX #31 reference; a concrete implementation path and acceptance tests are not defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.