[webkit-changes] [WebKit/WebKit] 460f0d: [WGSL] Implement relational expression parsing

Dan Glastonbury noreply at github.com
Mon Feb 13 02:23:23 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 460f0d5f93ba66a7096b91a01e06e444709f42f1
      https://github.com/WebKit/WebKit/commit/460f0d5f93ba66a7096b91a01e06e444709f42f1
  Author: Dan Glastonbury <djg at apple.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M Source/WebGPU/WGSL/Lexer.cpp
    M Source/WebGPU/WGSL/Parser.cpp
    M Source/WebGPU/WGSL/ParserPrivate.h
    M Source/WebGPU/WGSL/Token.cpp
    M Source/WebGPU/WGSL/Token.h
    M Tools/TestWebKitAPI/Tests/WGSL/LexerTests.cpp
    M Tools/TestWebKitAPI/Tests/WGSL/ParserTests.cpp

  Log Message:
  -----------
  [WGSL] Implement relational expression parsing
https://bugs.webkit.org/show_bug.cgi?id=252152
rdar://problem/105379078

Reviewed by Tadeu Zagallo.

Handle parsing of relational expressions according to WGSL spec. This introduces
the need to account for the ambiguity when trying to distinguish the
use of < as either the less-than operator or the beginning of a
type-parameter list. The solution chosen here is to check for one of the vector
or matrix type names before consuming `<` to produce a callable type constructor.

Alternatively, those names could be turned into keywords to aid the parser, or
we could save the lexer state post identifier and back track on failure to parse
a type constructor.

Canonical link: https://commits.webkit.org/260189@main




More information about the webkit-changes mailing list