Prompt "=" "STRING_TOKEN" "\(" DP:Number "\)" ","\r
Help "=" "STRING_TOKEN" "\(" DH:Number "\)" ","\r
minMaxDateStepDefault[Val.date, 2]\r
+ { G:FLAGS "=" vfrDateFlags[DObj, G->getLine()] "," }\r
<<\r
mCVfrQuestionDB.RegisterOldDateQuestion (VarIdStr[0], VarIdStr[1], VarIdStr[2], QId);\r
DObj.SetQuestionId (QId);\r
Prompt "=" "STRING_TOKEN" "\(" SP:Number "\)" ","\r
Help "=" "STRING_TOKEN" "\(" SH:Number "\)" ","\r
minMaxTimeStepDefault[Val.time, 2]\r
+ { G:FLAGS "=" vfrTimeFlags[TObj, G->getLine()] "," }\r
<<\r
mCVfrQuestionDB.RegisterOldTimeQuestion (VarIdStr[0], VarIdStr[1], VarIdStr[2], QId);\r
TObj.SetQuestionId (QId);\r
| ideqvalExp[$RootLevel, $ExpOpCount]\r
| ideqidExp[$RootLevel, $ExpOpCount]\r
| ideqvallistExp[$RootLevel, $ExpOpCount]\r
- | questionref13Exp[$RootLevel, $ExpOpCount]\r
+ | questionref1Exp[$RootLevel, $ExpOpCount]\r
| rulerefExp[$RootLevel, $ExpOpCount]\r
| stringref1Exp[$RootLevel, $ExpOpCount]\r
| pushthisExp[$RootLevel, $ExpOpCount]\r
>>\r
;\r
\r
-questionref13Exp[UINT32 & RootLevel, UINT32 & ExpOpCount] :\r
+questionref1Exp[UINT32 & RootLevel, UINT32 & ExpOpCount] :\r
<<\r
- UINT8 Type = 0x1;\r
- EFI_STRING_ID DevPath = EFI_STRING_ID_INVALID;\r
- EFI_GUID Guid = {0,};\r
EFI_QUESTION_ID QId = EFI_QUESTION_ID_INVALID;\r
UINT32 BitMask;\r
CHAR8 *QName = NULL;\r
UINT32 LineNo = 0;\r
>>\r
L:QuestionRef\r
- (\r
- (\r
- << Type = 0x3; >>\r
- {\r
- Path "=" "STRING_TOKEN" "\(" S:Number "\)" << Type = 0x4; DevPath = _STOSID(S->getText()); >>\r
- }\r
- {\r
- Uuid "=" guidDefinition[Guid] << Type = 0x5; >>\r
- }\r
- )\r
- |\r
- (\r
- "\("\r
- (\r
+ "\("\r
+ (\r
QN:StringIdentifier <<\r
QName = QN->getText();\r
- LineNo = QN->getLine();\r
+ LineNo = QN->getLine();\r
mCVfrQuestionDB.GetQuestionId (QN->getText(), NULL, QId, BitMask);\r
>>\r
| ID:Number << QId = _STOQID(ID->getText()); >>\r
)\r
- "\)"\r
- )\r
- )\r
+ "\)"\r
<<\r
- switch (Type) {\r
- case 0x1: {CIfrQuestionRef1 QR1Obj(L->getLine()); _SAVE_OPHDR_COND (QR1Obj, ($ExpOpCount == 0), L->getLine()); QR1Obj.SetQuestionId (QId, QName, LineNo); break;}\r
- case 0x3: {CIfrQuestionRef3 QR3Obj(L->getLine()); _SAVE_OPHDR_COND (QR3Obj, ($ExpOpCount == 0), L->getLine()); break;}\r
- case 0x4: {CIfrQuestionRef3_2 QR3_2Obj(L->getLine()); _SAVE_OPHDR_COND (QR3_2Obj, ($ExpOpCount == 0), L->getLine()); QR3_2Obj.SetDevicePath (DevPath); break;}\r
- case 0x5: {CIfrQuestionRef3_3 QR3_3Obj(L->getLine()); _SAVE_OPHDR_COND (QR3_3Obj, ($ExpOpCount == 0), L->getLine()); QR3_3Obj.SetDevicePath (DevPath); QR3_3Obj.SetGuid (&Guid); break;}\r
- }\r
- $ExpOpCount++;\r
- >>\r
+ { CIfrQuestionRef1 QR1Obj(L->getLine()); _SAVE_OPHDR_COND (QR1Obj, ($ExpOpCount == 0), L->getLine()); QR1Obj.SetQuestionId (QId, QName, LineNo); } $ExpOpCount++; >>\r
;\r
\r
rulerefExp[UINT32 & RootLevel, UINT32 & ExpOpCount] :\r
vfrExpressionUnaryOp[UINT32 & RootLevel, UINT32 & ExpOpCount] :\r
lengthExp[$RootLevel, $ExpOpCount]\r
| bitwisenotExp[$RootLevel, $ExpOpCount]\r
- | question2refExp[$RootLevel, $ExpOpCount]\r
+ | question23refExp[$RootLevel, $ExpOpCount]\r
| stringref2Exp[$RootLevel, $ExpOpCount]\r
| toboolExp[$RootLevel, $ExpOpCount]\r
| tostringExp[$RootLevel, $ExpOpCount]\r
<< { CIfrBitWiseNot BWNObj(L->getLine()); $ExpOpCount++; } >>\r
;\r
\r
-question2refExp[UINT32 & RootLevel, UINT32 & ExpOpCount] :\r
+question23refExp[UINT32 & RootLevel, UINT32 & ExpOpCount] :\r
+ <<\r
+ UINT8 Type = 0x1;\r
+ EFI_STRING_ID DevPath = EFI_STRING_ID_INVALID;\r
+ EFI_GUID Guid = {0,};\r
+ >>\r
L:QuestionRefVal\r
- "\(" vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] "\)"\r
- << { CIfrQuestionRef2 QR2Obj(L->getLine()); $ExpOpCount++; } >>\r
+ "\("\r
+ {\r
+ DevicePath "=" "STRING_TOKEN" "\(" S:Number "\)" "," << Type = 0x2; DevPath = _STOSID(S->getText()); >>\r
+ }\r
+ {\r
+ Uuid "=" guidDefinition[Guid] "," << Type = 0x3; >>\r
+ }\r
+ vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] \r
+ "\)"\r
+ <<\r
+ switch (Type) {\r
+ case 0x1: {CIfrQuestionRef2 QR2Obj(L->getLine()); _SAVE_OPHDR_COND (QR2Obj, ($ExpOpCount == 0), L->getLine()); break;}\r
+ case 0x2: {CIfrQuestionRef3_2 QR3_2Obj(L->getLine()); _SAVE_OPHDR_COND (QR3_2Obj, ($ExpOpCount == 0), L->getLine()); QR3_2Obj.SetDevicePath (DevPath); break;}\r
+ case 0x3: {CIfrQuestionRef3_3 QR3_3Obj(L->getLine()); _SAVE_OPHDR_COND (QR3_3Obj, ($ExpOpCount == 0), L->getLine()); QR3_3Obj.SetDevicePath (DevPath); QR3_3Obj.SetGuid (&Guid); break;}\r
+ }\r
+ $ExpOpCount++;\r
+ >>\r
;\r
\r
stringref2Exp[UINT32 & RootLevel, UINT32 & ExpOpCount] :\r