Commit 54cba79d authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

Added optional, defaultvalue and vararg.

parent e98d2712
...@@ -206,6 +206,7 @@ static struct keyword { ...@@ -206,6 +206,7 @@ static struct keyword {
{"cpp_quote", tCPPQUOTE}, {"cpp_quote", tCPPQUOTE},
/* ... */ /* ... */
{"default", tDEFAULT}, {"default", tDEFAULT},
{"defaultvalue", tDEFAULTVALUE},
/* ... */ /* ... */
{"dispinterface", tDISPINTERFACE}, {"dispinterface", tDISPINTERFACE},
/* ... */ /* ... */
...@@ -257,6 +258,7 @@ static struct keyword { ...@@ -257,6 +258,7 @@ static struct keyword {
{"odl", tODL}, {"odl", tODL},
{"oleautomation", tOLEAUTOMATION}, {"oleautomation", tOLEAUTOMATION},
/* ... */ /* ... */
{"optional", tOPTIONAL},
{"out", tOUT}, {"out", tOUT},
/* ... */ /* ... */
{"pointer_default", tPOINTERDEFAULT}, {"pointer_default", tPOINTERDEFAULT},
...@@ -295,6 +297,7 @@ static struct keyword { ...@@ -295,6 +297,7 @@ static struct keyword {
{"uuid", tUUID}, {"uuid", tUUID},
{"v1_enum", tV1ENUM}, {"v1_enum", tV1ENUM},
/* ... */ /* ... */
{"vararg", tVARARG},
{"version", tVERSION}, {"version", tVERSION},
{"void", tVOID}, {"void", tVOID},
{"wchar_t", tWCHAR}, {"wchar_t", tWCHAR},
......
...@@ -131,6 +131,7 @@ static type_t std_uhyper = { "MIDL_uhyper" }; ...@@ -131,6 +131,7 @@ static type_t std_uhyper = { "MIDL_uhyper" };
%token tCONST tCONTEXTHANDLE tCONTEXTHANDLENOSERIALIZE %token tCONST tCONTEXTHANDLE tCONTEXTHANDLENOSERIALIZE
%token tCONTEXTHANDLESERIALIZE tCONTROL tCPPQUOTE %token tCONTEXTHANDLESERIALIZE tCONTROL tCPPQUOTE
%token tDEFAULT %token tDEFAULT
%token tDEFAULTVALUE
%token tDISPINTERFACE %token tDISPINTERFACE
%token tDLLNAME tDOUBLE tDUAL %token tDLLNAME tDOUBLE tDUAL
%token tENDPOINT %token tENDPOINT
...@@ -153,6 +154,7 @@ static type_t std_uhyper = { "MIDL_uhyper" }; ...@@ -153,6 +154,7 @@ static type_t std_uhyper = { "MIDL_uhyper" };
%token tMETHODS %token tMETHODS
%token tMODULE %token tMODULE
%token tOBJECT tODL tOLEAUTOMATION %token tOBJECT tODL tOLEAUTOMATION
%token tOPTIONAL
%token tOUT %token tOUT
%token tPOINTERDEFAULT %token tPOINTERDEFAULT
%token tPROPERTIES %token tPROPERTIES
...@@ -174,6 +176,7 @@ static type_t std_uhyper = { "MIDL_uhyper" }; ...@@ -174,6 +176,7 @@ static type_t std_uhyper = { "MIDL_uhyper" };
%token tUNSIGNED %token tUNSIGNED
%token tUUID %token tUUID
%token tV1ENUM %token tV1ENUM
%token tVARARG
%token tVERSION %token tVERSION
%token tVOID %token tVOID
%token tWCHAR tWIREMARSHAL %token tWCHAR tWIREMARSHAL
...@@ -341,6 +344,8 @@ attribute: ...@@ -341,6 +344,8 @@ attribute:
| tCONTEXTHANDLENOSERIALIZE { $$ = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ } | tCONTEXTHANDLENOSERIALIZE { $$ = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ }
| tCONTEXTHANDLESERIALIZE { $$ = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ } | tCONTEXTHANDLESERIALIZE { $$ = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ }
| tDEFAULT { $$ = make_attr(ATTR_DEFAULT); } | tDEFAULT { $$ = make_attr(ATTR_DEFAULT); }
| tDEFAULTVALUE '(' expr_const ')' { $$ = make_attrp(ATTR_DEFAULTVALUE, $3); }
| tDEFAULTVALUE '(' aSTRING ')' { $$ = make_attrp(ATTR_DEFAULTVALUE, $3); }
| tDLLNAME '(' aSTRING ')' { $$ = make_attrp(ATTR_DLLNAME, $3); } | tDLLNAME '(' aSTRING ')' { $$ = make_attrp(ATTR_DLLNAME, $3); }
| tDUAL { $$ = make_attr(ATTR_DUAL); } | tDUAL { $$ = make_attr(ATTR_DUAL); }
| tENDPOINT '(' aSTRING ')' { $$ = make_attrp(ATTR_ENDPOINT, $3); } | tENDPOINT '(' aSTRING ')' { $$ = make_attrp(ATTR_ENDPOINT, $3); }
...@@ -358,6 +363,7 @@ attribute: ...@@ -358,6 +363,7 @@ attribute:
| tOBJECT { $$ = make_attr(ATTR_OBJECT); } | tOBJECT { $$ = make_attr(ATTR_OBJECT); }
| tODL { $$ = make_attr(ATTR_ODL); } | tODL { $$ = make_attr(ATTR_ODL); }
| tOLEAUTOMATION { $$ = make_attr(ATTR_OLEAUTOMATION); } | tOLEAUTOMATION { $$ = make_attr(ATTR_OLEAUTOMATION); }
| tOPTIONAL { $$ = make_attr(ATTR_OPTIONAL); }
| tOUT { $$ = make_attr(ATTR_OUT); } | tOUT { $$ = make_attr(ATTR_OUT); }
| tPOINTERDEFAULT '(' pointer_type ')' { $$ = make_attrv(ATTR_POINTERDEFAULT, $3); } | tPOINTERDEFAULT '(' pointer_type ')' { $$ = make_attrv(ATTR_POINTERDEFAULT, $3); }
| tPROPGET { $$ = make_attr(ATTR_PROPGET); } | tPROPGET { $$ = make_attr(ATTR_PROPGET); }
...@@ -373,6 +379,7 @@ attribute: ...@@ -373,6 +379,7 @@ attribute:
| tTRANSMITAS '(' type ')' { $$ = make_attrp(ATTR_TRANSMITAS, type_ref($3)); } | tTRANSMITAS '(' type ')' { $$ = make_attrp(ATTR_TRANSMITAS, type_ref($3)); }
| tUUID '(' aUUID ')' { $$ = make_attrp(ATTR_UUID, $3); } | tUUID '(' aUUID ')' { $$ = make_attrp(ATTR_UUID, $3); }
| tV1ENUM { $$ = make_attr(ATTR_V1ENUM); } | tV1ENUM { $$ = make_attr(ATTR_V1ENUM); }
| tVARARG { $$ = make_attr(ATTR_VARARG); }
| tVERSION '(' version ')' { $$ = make_attrv(ATTR_VERSION, $3); } | tVERSION '(' version ')' { $$ = make_attrv(ATTR_VERSION, $3); }
| tWIREMARSHAL '(' type ')' { $$ = make_attrp(ATTR_WIREMARSHAL, type_ref($3)); } | tWIREMARSHAL '(' type ')' { $$ = make_attrp(ATTR_WIREMARSHAL, type_ref($3)); }
| pointer_type { $$ = make_attrv(ATTR_POINTERTYPE, $1); } | pointer_type { $$ = make_attrv(ATTR_POINTERTYPE, $1); }
......
...@@ -63,6 +63,7 @@ enum attr_type ...@@ -63,6 +63,7 @@ enum attr_type
ATTR_CASE, ATTR_CASE,
ATTR_CONTEXTHANDLE, ATTR_CONTEXTHANDLE,
ATTR_DEFAULT, ATTR_DEFAULT,
ATTR_DEFAULTVALUE,
ATTR_DLLNAME, ATTR_DLLNAME,
ATTR_DUAL, ATTR_DUAL,
ATTR_ENDPOINT, ATTR_ENDPOINT,
...@@ -80,6 +81,7 @@ enum attr_type ...@@ -80,6 +81,7 @@ enum attr_type
ATTR_OBJECT, ATTR_OBJECT,
ATTR_ODL, ATTR_ODL,
ATTR_OLEAUTOMATION, ATTR_OLEAUTOMATION,
ATTR_OPTIONAL,
ATTR_OUT, ATTR_OUT,
ATTR_POINTERDEFAULT, ATTR_POINTERDEFAULT,
ATTR_POINTERTYPE, ATTR_POINTERTYPE,
...@@ -96,6 +98,7 @@ enum attr_type ...@@ -96,6 +98,7 @@ enum attr_type
ATTR_TRANSMITAS, ATTR_TRANSMITAS,
ATTR_UUID, ATTR_UUID,
ATTR_V1ENUM, ATTR_V1ENUM,
ATTR_VARARG,
ATTR_VERSION, ATTR_VERSION,
ATTR_WIREMARSHAL, ATTR_WIREMARSHAL,
ATTR_DISPINTERFACE ATTR_DISPINTERFACE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment