%token Null "null"
%token True "true"
-// ES3/ES5/WIE/JSC Reserved
-%token Auto "auto"
%token Break "break"
%token Case "case"
%token Catch "catch"
+%token Class "class"
+%token Const "const"
%token Continue "continue"
+%token Debugger "debugger"
%token Default "default"
%token Delete "delete"
%token Do "do"
%token Else "else"
+%token Enum "enum"
+%token Export "export"
+%token Extends "extends"
%token Finally "finally"
%token For "for"
%token Function "function"
%token Function_ ";function"
%token If "if"
+%token Import "import"
%token In "in"
%token In_ "!in"
%token InstanceOf "instanceof"
%token New "new"
%token Return "return"
+%token Super "super"
%token Switch "switch"
%token This "this"
%token Throw "throw"
%token While "while"
%token With "with"
-// ES3/IE6 Future, ES5/JSC Reserved
-%token Debugger "debugger"
-
-// ES3/ES5/IE6 Future, JSC Reserved
-%token Const "const"
-
-// ES3/ES5/IE6/JSC Future
-%token Class "class"
-%token Enum "enum"
-%token Export "export"
-%token Extends "extends"
-%token Import "import"
-%token Super "super"
-
-// ES3 Future, ES5 Strict Future
-%token <identifier_> Implements "implements"
-%token <identifier_> Interface "interface"
-%token <identifier_> Package "package"
-%token <identifier_> Private "private"
-%token <identifier_> Protected "protected"
-%token <identifier_> Public "public"
-%token <identifier_> Static "static"
-
-// ES3 Future
%token <identifier_> Abstract "abstract"
+%token <identifier_> Await "await"
%token <identifier_> Boolean "boolean"
%token <identifier_> Byte "byte"
%token <identifier_> Char "char"
%token <identifier_> Final "final"
%token <identifier_> Float "float"
%token <identifier_> Goto "goto"
+%token <identifier_> Implements "implements"
%token <identifier_> Int "int"
+%token <identifier_> Interface "interface"
+%token <identifier_> Let "let"
%token <identifier_> Long "long"
%token <identifier_> Native "native"
+%token <identifier_> Package "package"
+%token <identifier_> Private "private"
+%token <identifier_> Protected "protected"
+%token <identifier_> Public "public"
%token <identifier_> Short "short"
+%token <identifier_> Static "static"
%token <identifier_> Synchronized "synchronized"
%token <identifier_> Throws "throws"
%token <identifier_> Transient "transient"
%token <identifier_> Volatile "volatile"
-
-// ES5 Strict
-%token <identifier_> Let "let"
%token <identifier_> Yield "yield"
-// Woah?!
+%token Auto "auto"
%token <identifier_> Each "each"
%token <identifier_> Of "of"
@begin E4X
-// E4X Conditional
%token <identifier_> Namespace "namespace"
%token <identifier_> XML "xml"
@end
Word
: Identifier { $$ = $1; }
+
| "auto" { $$ = CYNew CYWord("auto"); }
| "break" NewLineOpt { $$ = CYNew CYWord("break"); }
| "case" { $$ = CYNew CYWord("case"); }
IdentifierType
: Identifier_ { $$ = $1; }
- | "implements" { $$ = $1; }
- | "interface" { $$ = $1; }
- | "package" { $$ = $1; }
- | "private" { $$ = $1; }
- | "protected" { $$ = $1; }
- | "public" { $$ = $1; }
- | "static" { $$ = $1; }
-
| "abstract" { $$ = $1; }
+ | "await" { $$ = $1; }
| "boolean" { $$ = $1; }
| "byte" { $$ = $1; }
| "double" { $$ = $1; }
| "final" { $$ = $1; }
| "float" { $$ = $1; }
| "goto" { $$ = $1; }
+ | "implements" { $$ = $1; }
+ | "interface" { $$ = $1; }
| "native" { $$ = $1; }
+ | "package" { $$ = $1; }
+ | "private" { $$ = $1; }
+ | "protected" { $$ = $1; }
+ | "public" { $$ = $1; }
+ | "static" { $$ = $1; }
| "synchronized" { $$ = $1; }
| "throws" { $$ = $1; }
| "transient" { $$ = $1; }
| "short" { $$ = $1; }
| "volatile" { $$ = $1; }
@begin C
+ | "extern" { $$ = $1; }
+ | "signed" { $$ = $1; }
| "typedef" { $$ = $1; }
| "unsigned" { $$ = $1; }
- | "signed" { $$ = $1; }
- | "extern" { $$ = $1; }
@end
@begin ObjectiveC
- | "YES" { $$ = $1; }
| "NO" { $$ = $1; }
+ | "YES" { $$ = $1; }
@end
;