diff options
| author | Ellie Hermaszewska <ellieh@nvidia.com> | 2023-08-26 01:42:34 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-25 10:42:34 -0700 |
| commit | ef4c9f1f1c297f1a33be95795a7a7561e0cc3bde (patch) | |
| tree | 9ea81689432040905772aeec447adad88f212e01 /source/compiler-core | |
| parent | 036abc85ba1db9c8c06289f0a0492e9a95a228b9 (diff) | |
Initial version of spirv_asm block (#3151)
* Initial version of spirv_asm block
* Correct indentation of parent instruction dumping
* neater dumping for spirv_asm instructions
* Add $$ DollarDollar token
* Allow passing addresses to spirv_asm blocks
* spirv OpUndef
* String literals in spirv asm
* OpName for spirv_asm ids
* Correct failure in lower spirv_asm
* correct position for spirv_asm idents
* comment correct
* several more tests for spirv_asm blocks
* Fill out some unimplemented functions for spirv_asm expressions
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/compiler-core')
| -rw-r--r-- | source/compiler-core/slang-lexer.cpp | 11 | ||||
| -rw-r--r-- | source/compiler-core/slang-token-defs.h | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/source/compiler-core/slang-lexer.cpp b/source/compiler-core/slang-lexer.cpp index 24cd3034b..5954dc668 100644 --- a/source/compiler-core/slang-lexer.cpp +++ b/source/compiler-core/slang-lexer.cpp @@ -1314,7 +1314,16 @@ namespace Slang case '?': _advance(lexer); return TokenType::QuestionMark; case '@': _advance(lexer); return TokenType::At; - case '$': _advance(lexer); return TokenType::Dollar; + case '$': + { + _advance(lexer); + if(_peek(lexer) == '$') + { + _advance(lexer); + return TokenType::DollarDollar; + } + return TokenType::Dollar; + } } diff --git a/source/compiler-core/slang-token-defs.h b/source/compiler-core/slang-token-defs.h index 45b4912e7..2a66359fe 100644 --- a/source/compiler-core/slang-token-defs.h +++ b/source/compiler-core/slang-token-defs.h @@ -85,6 +85,7 @@ PUNCTUATION(Colon, ":") PUNCTUATION(RightArrow, "->") PUNCTUATION(At, "@") PUNCTUATION(Dollar, "$") +PUNCTUATION(DollarDollar, "$$") PUNCTUATION(Pound, "#") PUNCTUATION(PoundPound, "##") |
