[WIDL]
[reactos.git] / reactos / tools / widl / parser.l
index e7673d1..3a535e8 100644 (file)
@@ -289,11 +289,13 @@ static const struct keyword attr_keywords[] =
         {"aggregatable",                tAGGREGATABLE},
         {"allocate",                    tALLOCATE},
         {"annotation",                  tANNOTATION},
+        {"apartment",                   tAPARTMENT},
         {"appobject",                   tAPPOBJECT},
         {"async",                       tASYNC},
         {"async_uuid",                  tASYNCUUID},
         {"auto_handle",                 tAUTOHANDLE},
         {"bindable",                    tBINDABLE},
+        {"both",                        tBOTH},
         {"broadcast",                   tBROADCAST},
         {"byte_count",                  tBYTECOUNT},
         {"call_as",                     tCALLAS},
@@ -304,15 +306,23 @@ static const struct keyword attr_keywords[] =
         {"context_handle_noserialize",  tCONTEXTHANDLENOSERIALIZE},
         {"context_handle_serialize",    tCONTEXTHANDLENOSERIALIZE},
         {"control",                     tCONTROL},
+        {"decode",                      tDECODE},
+        {"defaultbind",                 tDEFAULTBIND},
         {"defaultcollelem",             tDEFAULTCOLLELEM},
         {"defaultvalue",                tDEFAULTVALUE},
         {"defaultvtable",               tDEFAULTVTABLE},
+        {"disable_consistency_check",   tDISABLECONSISTENCYCHECK},
         {"displaybind",                 tDISPLAYBIND},
         {"dllname",                     tDLLNAME},
         {"dual",                        tDUAL},
+        {"enable_allocate",             tENABLEALLOCATE},
+        {"encode",                      tENCODE},
         {"endpoint",                    tENDPOINT},
         {"entry",                       tENTRY},
         {"explicit_handle",             tEXPLICITHANDLE},
+        {"fault_status",                tFAULTSTATUS},
+        {"force_allocate",              tFORCEALLOCATE},
+        {"free",                        tFREE},
         {"handle",                      tHANDLE},
         {"helpcontext",                 tHELPCONTEXT},
         {"helpfile",                    tHELPFILE},
@@ -322,6 +332,7 @@ static const struct keyword attr_keywords[] =
         {"hidden",                      tHIDDEN},
         {"id",                          tID},
         {"idempotent",                  tIDEMPOTENT},
+        {"ignore",                      tIGNORE},
         {"iid_is",                      tIIDIS},
         {"immediatebind",               tIMMEDIATEBIND},
         {"implicit_handle",             tIMPLICITHANDLE},
@@ -330,42 +341,67 @@ static const struct keyword attr_keywords[] =
         {"input_sync",                  tINPUTSYNC},
         {"lcid",                        tLCID},
         {"length_is",                   tLENGTHIS},
+        {"licensed",                    tLICENSED},
         {"local",                       tLOCAL},
+        {"maybe",                       tMAYBE},
+        {"message",                     tMESSAGE},
+        {"neutral",                     tNEUTRAL},
+        {"nocode",                      tNOCODE},
         {"nonbrowsable",                tNONBROWSABLE},
         {"noncreatable",                tNONCREATABLE},
         {"nonextensible",               tNONEXTENSIBLE},
+        {"notify",                      tNOTIFY},
+        {"notify_flag",                 tNOTIFYFLAG},
         {"object",                      tOBJECT},
         {"odl",                         tODL},
         {"oleautomation",               tOLEAUTOMATION},
+        {"optimize",                    tOPTIMIZE},
         {"optional",                    tOPTIONAL},
         {"out",                         tOUT},
+        {"partial_ignore",              tPARTIALIGNORE},
         {"pointer_default",             tPOINTERDEFAULT},
+        {"progid",                      tPROGID},
         {"propget",                     tPROPGET},
         {"propput",                     tPROPPUT},
         {"propputref",                  tPROPPUTREF},
+        {"proxy",                       tPROXY},
         {"ptr",                         tPTR},
         {"public",                      tPUBLIC},
         {"range",                       tRANGE},
         {"readonly",                    tREADONLY},
         {"ref",                         tREF},
+        {"represent_as",                tREPRESENTAS},
         {"requestedit",                 tREQUESTEDIT},
         {"restricted",                  tRESTRICTED},
         {"retval",                      tRETVAL},
+        {"single",                      tSINGLE},
         {"size_is",                     tSIZEIS},
         {"source",                      tSOURCE},
         {"strict_context_handle",       tSTRICTCONTEXTHANDLE},
         {"string",                      tSTRING},
         {"switch_is",                   tSWITCHIS},
         {"switch_type",                 tSWITCHTYPE},
+        {"threading",                   tTHREADING},
         {"transmit_as",                 tTRANSMITAS},
+        {"uidefault",                   tUIDEFAULT},
         {"unique",                      tUNIQUE},
+        {"user_marshal",                tUSERMARSHAL},
+        {"usesgetlasterror",            tUSESGETLASTERROR},
         {"uuid",                        tUUID},
         {"v1_enum",                     tV1ENUM},
         {"vararg",                      tVARARG},
         {"version",                     tVERSION},
+        {"vi_progid",                   tVIPROGID},
         {"wire_marshal",                tWIREMARSHAL},
 };
 
+/* attributes TODO:
+    custom
+    first_is
+    last_is
+    max_is
+    min_is
+*/
 
 #define KWP(p) ((const struct keyword *)(p))