updated grammar a bit

git-svn-id: svn://anubis/jtlc/trunk@5 f5bc74b8-7b62-4e90-9214-7121d538519f
This commit is contained in:
josh 2010-01-12 17:40:16 +00:00
parent 57c9bbbbea
commit e83a2f1f08
2 changed files with 15 additions and 6 deletions

View File

@ -12,6 +12,7 @@
/* operators */
:= return ASSIGN;
::= return DASSIGN;
== return DEQUALS;
\/ return DIVIDE;
= return EQUALS;
@ -41,16 +42,16 @@
\) return RPAREN;
/* literals */
-?[0-9]+ {
[0-9]+ {
return INT_LITERAL;
}
-?0x[0-9]+ {
0x[0-9A-Fa-f]+ {
return INT_LITERAL;
}
-?0b[01]+ {
0b[01]+ {
return INT_LITERAL;
}
-?[0-9]*\.[0-9]+([eE][0-9]+)? {
[0-9]*\.[0-9]+([eE]-?[0-9]+)? {
return REAL_LITERAL;
}
@ -59,6 +60,8 @@ byte return BYTE;
ubyte return UBYTE;
char return CHAR;
wchar return WCHAR;
short return SHORT;
ushort return USHORT;
int return INT;
uint return UINT;
long return LONG;

View File

@ -27,6 +27,7 @@ int yywrap()
/* operators */
%token ASSIGN;
%token DASSIGN;
%token DEQUALS;
%token DIVIDE;
%token EQUALS;
@ -64,6 +65,8 @@ int yywrap()
%token UBYTE;
%token CHAR;
%token WCHAR;
%token SHORT;
%token USHORT;
%token INT;
%token UINT;
%token LONG;
@ -114,7 +117,7 @@ import_name_more_more: IDENTIFIER import_name_more
| STAR
;
function: type IDENTIFIER LPAREN parameter_list RPAREN LCURLY function_items RCURLY
function: IDENTIFIER LPAREN parameter_list RPAREN COLON type LCURLY function_items RCURLY
;
function_items: /* empty */
@ -133,6 +136,8 @@ primitive_type: BYTE
| UBYTE
| CHAR
| WCHAR
| SHORT
| USHORT
| INT
| UINT
| LONG
@ -152,7 +157,7 @@ struct_item: variable_declaration
variable_declaration: variable_spec SEMICOLON;
;
variable_spec: type IDENTIFIER
variable_spec: IDENTIFIER COLON type
;
ptr_type: type STAR
@ -179,6 +184,7 @@ expression: assign_expr
;
assign_expr: lvalue ASSIGN expression
| lvalue DASSIGN expression
;
lvalue: IDENTIFIER