From c6e6b7a9177bf4f7fc2f05da36c5952979006d78 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 4 Nov 2022 09:36:23 -0700 Subject: Higher order differentiation. (#2487) Co-authored-by: Yong He --- source/slang/slang-parser.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/slang/slang-parser.cpp') diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp index 980a1d0bc..78edd4deb 100644 --- a/source/slang/slang-parser.cpp +++ b/source/slang/slang-parser.cpp @@ -6430,6 +6430,16 @@ namespace Slang return modifier; } + static NodeBase* parseBuiltinRequirementModifier(Parser* parser, void* /*userData*/) + { + BuiltinRequirementModifier* modifier = parser->astBuilder->create(); + parser->ReadToken(TokenType::LParent); + modifier->kind = BuiltinRequirementKind(StringToInt(parser->ReadToken(TokenType::IntegerLiteral).getContent())); + parser->ReadToken(TokenType::RParent); + + return modifier; + } + static NodeBase* parseMagicTypeModifier(Parser* parser, void* /*userData*/) { MagicTypeModifier* modifier = parser->astBuilder->create(); @@ -6618,6 +6628,8 @@ namespace Slang _makeParseModifier("__cuda_sm_version", parseCUDASMVersionModifier), _makeParseModifier("__builtin_type", parseBuiltinTypeModifier), + _makeParseModifier("__builtin_requirement", parseBuiltinRequirementModifier), + _makeParseModifier("__magic_type", parseMagicTypeModifier), _makeParseModifier("__intrinsic_type", parseIntrinsicTypeModifier), _makeParseModifier("__implicit_conversion", parseImplicitConversionModifier), -- cgit v1.2.3