]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/VfrCompile/VfrSyntax.g
Add new “Modal form” opcode.
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / VfrSyntax.g
index 02a7b5c1f4382752f44efb6b64afcd56e0fbcfb8..df09e9b655a95dd4f268b89e3e58cc7340facb7b 100644 (file)
@@ -237,6 +237,7 @@ VfrParserStart (
 #token EndGuidOp("endguidop")                   "endguidop"\r
 #token DataType("datatype")                     "datatype"\r
 #token Data("data")                             "data"\r
+#token Modal("modal")                           "modal"\r
 \r
 //\r
 // Define the class and subclass tokens\r
@@ -1251,7 +1252,8 @@ vfrFormDefinition :
     vfrStatementBanner                       |\r
     // Just for framework vfr compatibility\r
     vfrStatementInvalid                      |\r
-    vfrStatementExtension\r
+    vfrStatementExtension                    |\r
+    vfrStatementModal\r
   )*\r
   E:EndForm                                         <<\r
                                                       if (mCompatibleMode) {\r
@@ -1310,7 +1312,8 @@ vfrFormMapDefinition :
     vfrStatementConditional                  |\r
     vfrStatementLabel                        |\r
     vfrStatementBanner                       |\r
-    vfrStatementExtension\r
+    vfrStatementExtension                    |\r
+    vfrStatementModal\r
   )*\r
   E:EndForm                                         << CRT_END_OP (E); >>\r
   ";"\r
@@ -2490,6 +2493,11 @@ vfrLockedTag :
   L:Locked                                             << LObj.SetLineNo(L->getLine()); >>\r
   ;\r
 \r
+vfrModalTag :\r
+  << CIfrModal MObj; >>\r
+  L:Modal                                             << MObj.SetLineNo(L->getLine()); >>\r
+  ;\r
+\r
 vfrStatementStatTag :\r
   vfrImageTag  |\r
   vfrLockedTag\r
@@ -2504,6 +2512,11 @@ vfrStatementImage :
   ";"\r
   ;\r
 \r
+vfrStatementModal :\r
+  vfrModalTag\r
+  ";"\r
+  ;\r
+\r
 vfrStatementLocked :\r
   vfrLockedTag\r
   ";"\r