[all-commits] [llvm/llvm-project] b41b86: [HLSL][RootSignature] Implement Lexing of Descript...

Finn Plummer via All-commits all-commits at lists.llvm.org
Fri Feb 14 09:17:32 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b41b86a907f653f79bab10d4c80b3a41d146c71b
      https://github.com/llvm/llvm-project/commit/b41b86a907f653f79bab10d4c80b3a41d146c71b
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
    A clang/include/clang/Lex/LexHLSLRootSignature.h
    M clang/lib/Lex/CMakeLists.txt
    A clang/lib/Lex/LexHLSLRootSignature.cpp
    M clang/unittests/Lex/CMakeLists.txt
    A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp

  Log Message:
  -----------
  [HLSL][RootSignature] Implement Lexing of DescriptorTables (#122981)

For the sake of scope, we will let the lexing of floating literals be
deferred until needed for Static Samplers. Other than that this pr
should allow us to simply define new enumerations/keywords in
`RootSignatureTokenKinds.def` for when they are used in the parser. We
could have defined all of these keywords here, but for the sake of
correctness in review we will let them be split up.

- Define `RootSignatureLexer` and provide a public `LexToken` method for
external use
- Define the file `RootSignatureTokenKinds` to define required tokens
and allow for future custom keywords/enums
- Implement the internal methods required to parse the different types
of tokens (integers, flag enums, puncuators...)
- Add test harness for unit testing and the respective unit tests for
lexing the tokens

Resolves #126563

---------

Co-authored-by: Chris B <beanz at abolishcrlf.org>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list