Index: src/Parser/parser.h
===================================================================
--- src/Parser/parser.h	(revision a7c90d4d68e0538c8215b52b958e12c56980c401)
+++ src/Parser/parser.h	(revision 6152c819869ff813b9700aee132f2e96745b4d7c)
@@ -74,80 +74,83 @@
      STRUCT = 292,
      UNION = 293,
-     OTYPE = 294,
-     FTYPE = 295,
-     DTYPE = 296,
-     TTYPE = 297,
-     TRAIT = 298,
-     SIZEOF = 299,
-     OFFSETOF = 300,
-     ATTRIBUTE = 301,
-     EXTENSION = 302,
-     IF = 303,
-     ELSE = 304,
-     SWITCH = 305,
-     CASE = 306,
-     DEFAULT = 307,
-     DO = 308,
-     WHILE = 309,
-     FOR = 310,
-     BREAK = 311,
-     CONTINUE = 312,
-     GOTO = 313,
-     RETURN = 314,
-     CHOOSE = 315,
-     DISABLE = 316,
-     ENABLE = 317,
-     FALLTHRU = 318,
-     TRY = 319,
-     CATCH = 320,
-     CATCHRESUME = 321,
-     FINALLY = 322,
-     THROW = 323,
-     THROWRESUME = 324,
-     AT = 325,
-     ASM = 326,
-     ALIGNAS = 327,
-     ALIGNOF = 328,
-     GENERIC = 329,
-     STATICASSERT = 330,
-     IDENTIFIER = 331,
-     QUOTED_IDENTIFIER = 332,
-     TYPEDEFname = 333,
-     TYPEGENname = 334,
-     ATTR_IDENTIFIER = 335,
-     ATTR_TYPEDEFname = 336,
-     ATTR_TYPEGENname = 337,
-     INTEGERconstant = 338,
-     CHARACTERconstant = 339,
-     STRINGliteral = 340,
-     REALDECIMALconstant = 341,
-     REALFRACTIONconstant = 342,
-     FLOATINGconstant = 343,
-     ZERO = 344,
-     ONE = 345,
-     ARROW = 346,
-     ICR = 347,
-     DECR = 348,
-     LS = 349,
-     RS = 350,
-     LE = 351,
-     GE = 352,
-     EQ = 353,
-     NE = 354,
-     ANDAND = 355,
-     OROR = 356,
-     ELLIPSIS = 357,
-     MULTassign = 358,
-     DIVassign = 359,
-     MODassign = 360,
-     PLUSassign = 361,
-     MINUSassign = 362,
-     LSassign = 363,
-     RSassign = 364,
-     ANDassign = 365,
-     ERassign = 366,
-     ORassign = 367,
-     ATassign = 368,
-     THEN = 369
+     COROUTINE = 294,
+     MONITOR = 295,
+     THREAD = 296,
+     OTYPE = 297,
+     FTYPE = 298,
+     DTYPE = 299,
+     TTYPE = 300,
+     TRAIT = 301,
+     SIZEOF = 302,
+     OFFSETOF = 303,
+     ATTRIBUTE = 304,
+     EXTENSION = 305,
+     IF = 306,
+     ELSE = 307,
+     SWITCH = 308,
+     CASE = 309,
+     DEFAULT = 310,
+     DO = 311,
+     WHILE = 312,
+     FOR = 313,
+     BREAK = 314,
+     CONTINUE = 315,
+     GOTO = 316,
+     RETURN = 317,
+     CHOOSE = 318,
+     DISABLE = 319,
+     ENABLE = 320,
+     FALLTHRU = 321,
+     TRY = 322,
+     CATCH = 323,
+     CATCHRESUME = 324,
+     FINALLY = 325,
+     THROW = 326,
+     THROWRESUME = 327,
+     AT = 328,
+     ASM = 329,
+     ALIGNAS = 330,
+     ALIGNOF = 331,
+     GENERIC = 332,
+     STATICASSERT = 333,
+     IDENTIFIER = 334,
+     QUOTED_IDENTIFIER = 335,
+     TYPEDEFname = 336,
+     TYPEGENname = 337,
+     ATTR_IDENTIFIER = 338,
+     ATTR_TYPEDEFname = 339,
+     ATTR_TYPEGENname = 340,
+     INTEGERconstant = 341,
+     CHARACTERconstant = 342,
+     STRINGliteral = 343,
+     REALDECIMALconstant = 344,
+     REALFRACTIONconstant = 345,
+     FLOATINGconstant = 346,
+     ZERO = 347,
+     ONE = 348,
+     ARROW = 349,
+     ICR = 350,
+     DECR = 351,
+     LS = 352,
+     RS = 353,
+     LE = 354,
+     GE = 355,
+     EQ = 356,
+     NE = 357,
+     ANDAND = 358,
+     OROR = 359,
+     ELLIPSIS = 360,
+     MULTassign = 361,
+     DIVassign = 362,
+     MODassign = 363,
+     PLUSassign = 364,
+     MINUSassign = 365,
+     LSassign = 366,
+     RSassign = 367,
+     ANDassign = 368,
+     ERassign = 369,
+     ORassign = 370,
+     ATassign = 371,
+     THEN = 372
    };
 #endif
@@ -189,80 +192,83 @@
 #define STRUCT 292
 #define UNION 293
-#define OTYPE 294
-#define FTYPE 295
-#define DTYPE 296
-#define TTYPE 297
-#define TRAIT 298
-#define SIZEOF 299
-#define OFFSETOF 300
-#define ATTRIBUTE 301
-#define EXTENSION 302
-#define IF 303
-#define ELSE 304
-#define SWITCH 305
-#define CASE 306
-#define DEFAULT 307
-#define DO 308
-#define WHILE 309
-#define FOR 310
-#define BREAK 311
-#define CONTINUE 312
-#define GOTO 313
-#define RETURN 314
-#define CHOOSE 315
-#define DISABLE 316
-#define ENABLE 317
-#define FALLTHRU 318
-#define TRY 319
-#define CATCH 320
-#define CATCHRESUME 321
-#define FINALLY 322
-#define THROW 323
-#define THROWRESUME 324
-#define AT 325
-#define ASM 326
-#define ALIGNAS 327
-#define ALIGNOF 328
-#define GENERIC 329
-#define STATICASSERT 330
-#define IDENTIFIER 331
-#define QUOTED_IDENTIFIER 332
-#define TYPEDEFname 333
-#define TYPEGENname 334
-#define ATTR_IDENTIFIER 335
-#define ATTR_TYPEDEFname 336
-#define ATTR_TYPEGENname 337
-#define INTEGERconstant 338
-#define CHARACTERconstant 339
-#define STRINGliteral 340
-#define REALDECIMALconstant 341
-#define REALFRACTIONconstant 342
-#define FLOATINGconstant 343
-#define ZERO 344
-#define ONE 345
-#define ARROW 346
-#define ICR 347
-#define DECR 348
-#define LS 349
-#define RS 350
-#define LE 351
-#define GE 352
-#define EQ 353
-#define NE 354
-#define ANDAND 355
-#define OROR 356
-#define ELLIPSIS 357
-#define MULTassign 358
-#define DIVassign 359
-#define MODassign 360
-#define PLUSassign 361
-#define MINUSassign 362
-#define LSassign 363
-#define RSassign 364
-#define ANDassign 365
-#define ERassign 366
-#define ORassign 367
-#define ATassign 368
-#define THEN 369
+#define COROUTINE 294
+#define MONITOR 295
+#define THREAD 296
+#define OTYPE 297
+#define FTYPE 298
+#define DTYPE 299
+#define TTYPE 300
+#define TRAIT 301
+#define SIZEOF 302
+#define OFFSETOF 303
+#define ATTRIBUTE 304
+#define EXTENSION 305
+#define IF 306
+#define ELSE 307
+#define SWITCH 308
+#define CASE 309
+#define DEFAULT 310
+#define DO 311
+#define WHILE 312
+#define FOR 313
+#define BREAK 314
+#define CONTINUE 315
+#define GOTO 316
+#define RETURN 317
+#define CHOOSE 318
+#define DISABLE 319
+#define ENABLE 320
+#define FALLTHRU 321
+#define TRY 322
+#define CATCH 323
+#define CATCHRESUME 324
+#define FINALLY 325
+#define THROW 326
+#define THROWRESUME 327
+#define AT 328
+#define ASM 329
+#define ALIGNAS 330
+#define ALIGNOF 331
+#define GENERIC 332
+#define STATICASSERT 333
+#define IDENTIFIER 334
+#define QUOTED_IDENTIFIER 335
+#define TYPEDEFname 336
+#define TYPEGENname 337
+#define ATTR_IDENTIFIER 338
+#define ATTR_TYPEDEFname 339
+#define ATTR_TYPEGENname 340
+#define INTEGERconstant 341
+#define CHARACTERconstant 342
+#define STRINGliteral 343
+#define REALDECIMALconstant 344
+#define REALFRACTIONconstant 345
+#define FLOATINGconstant 346
+#define ZERO 347
+#define ONE 348
+#define ARROW 349
+#define ICR 350
+#define DECR 351
+#define LS 352
+#define RS 353
+#define LE 354
+#define GE 355
+#define EQ 356
+#define NE 357
+#define ANDAND 358
+#define OROR 359
+#define ELLIPSIS 360
+#define MULTassign 361
+#define DIVassign 362
+#define MODassign 363
+#define PLUSassign 364
+#define MINUSassign 365
+#define LSassign 366
+#define RSassign 367
+#define ANDassign 368
+#define ERassign 369
+#define ORassign 370
+#define ATassign 371
+#define THEN 372
 
 
@@ -274,5 +280,5 @@
 
 /* Line 2068 of yacc.c  */
-#line 141 "parser.yy"
+#line 142 "parser.yy"
 
 	Token tok;
@@ -294,5 +300,5 @@
 
 /* Line 2068 of yacc.c  */
-#line 297 "Parser/parser.h"
+#line 303 "Parser/parser.h"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
