updated grammar a bit
git-svn-id: svn://anubis/jtlc/trunk@5 f5bc74b8-7b62-4e90-9214-7121d538519f
This commit is contained in:
parent
57c9bbbbea
commit
e83a2f1f08
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user