summaryrefslogtreecommitdiff
path: root/c99.y
diff options
context:
space:
mode:
Diffstat (limited to 'c99.y')
-rw-r--r--c99.y29
1 files changed, 29 insertions, 0 deletions
diff --git a/c99.y b/c99.y
new file mode 100644
index 0000000..1788c02
--- /dev/null
+++ b/c99.y
@@ -0,0 +1,29 @@
+%{
+int yylex(void);
+void yyerror(char const *);
+%}
+
+%token IDENTIFIER COMMENT
+%token STRING NUMBER
+
+ /* C89 keywords */
+%token AUTO BREAK CASE CHAR CONST CONTINUE DEFAULT DO DOUBLE ELSE
+%token ENUM EXTERN FLOAT FOR GOTO IF INT LONG REGISTER
+%token RETURN SHORT SIGNED SIZEOF STATIC STRUCT SWITCH TYPEDEF UNION
+%token UNSIGNED VOID VOLATILE WHILE
+
+ /* Punctuation */
+%token PLUS MINUS STAR SLASH
+%token COMMA SEMICOLON
+%token QUESTION COLON
+%token LPAREN RPAREN
+%token LBRACE RBRACE
+%token LBRACKET RBRACKET
+
+ /* C99 keywords */
+%token INLINE RESTRICT _BOOL _COMPLEX _IMAGINARY
+
+%%
+
+input: %empty
+ ;