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 */
|
/* operators */
|
||||||
:= return ASSIGN;
|
:= return ASSIGN;
|
||||||
|
::= return DASSIGN;
|
||||||
== return DEQUALS;
|
== return DEQUALS;
|
||||||
\/ return DIVIDE;
|
\/ return DIVIDE;
|
||||||
= return EQUALS;
|
= return EQUALS;
|
||||||
@ -41,16 +42,16 @@
|
|||||||
\) return RPAREN;
|
\) return RPAREN;
|
||||||
|
|
||||||
/* literals */
|
/* literals */
|
||||||
-?[0-9]+ {
|
[0-9]+ {
|
||||||
return INT_LITERAL;
|
return INT_LITERAL;
|
||||||
}
|
}
|
||||||
-?0x[0-9]+ {
|
0x[0-9A-Fa-f]+ {
|
||||||
return INT_LITERAL;
|
return INT_LITERAL;
|
||||||
}
|
}
|
||||||
-?0b[01]+ {
|
0b[01]+ {
|
||||||
return INT_LITERAL;
|
return INT_LITERAL;
|
||||||
}
|
}
|
||||||
-?[0-9]*\.[0-9]+([eE][0-9]+)? {
|
[0-9]*\.[0-9]+([eE]-?[0-9]+)? {
|
||||||
return REAL_LITERAL;
|
return REAL_LITERAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,6 +60,8 @@ byte return BYTE;
|
|||||||
ubyte return UBYTE;
|
ubyte return UBYTE;
|
||||||
char return CHAR;
|
char return CHAR;
|
||||||
wchar return WCHAR;
|
wchar return WCHAR;
|
||||||
|
short return SHORT;
|
||||||
|
ushort return USHORT;
|
||||||
int return INT;
|
int return INT;
|
||||||
uint return UINT;
|
uint return UINT;
|
||||||
long return LONG;
|
long return LONG;
|
||||||
|
@ -27,6 +27,7 @@ int yywrap()
|
|||||||
|
|
||||||
/* operators */
|
/* operators */
|
||||||
%token ASSIGN;
|
%token ASSIGN;
|
||||||
|
%token DASSIGN;
|
||||||
%token DEQUALS;
|
%token DEQUALS;
|
||||||
%token DIVIDE;
|
%token DIVIDE;
|
||||||
%token EQUALS;
|
%token EQUALS;
|
||||||
@ -64,6 +65,8 @@ int yywrap()
|
|||||||
%token UBYTE;
|
%token UBYTE;
|
||||||
%token CHAR;
|
%token CHAR;
|
||||||
%token WCHAR;
|
%token WCHAR;
|
||||||
|
%token SHORT;
|
||||||
|
%token USHORT;
|
||||||
%token INT;
|
%token INT;
|
||||||
%token UINT;
|
%token UINT;
|
||||||
%token LONG;
|
%token LONG;
|
||||||
@ -114,7 +117,7 @@ import_name_more_more: IDENTIFIER import_name_more
|
|||||||
| STAR
|
| 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 */
|
function_items: /* empty */
|
||||||
@ -133,6 +136,8 @@ primitive_type: BYTE
|
|||||||
| UBYTE
|
| UBYTE
|
||||||
| CHAR
|
| CHAR
|
||||||
| WCHAR
|
| WCHAR
|
||||||
|
| SHORT
|
||||||
|
| USHORT
|
||||||
| INT
|
| INT
|
||||||
| UINT
|
| UINT
|
||||||
| LONG
|
| LONG
|
||||||
@ -152,7 +157,7 @@ struct_item: variable_declaration
|
|||||||
variable_declaration: variable_spec SEMICOLON;
|
variable_declaration: variable_spec SEMICOLON;
|
||||||
;
|
;
|
||||||
|
|
||||||
variable_spec: type IDENTIFIER
|
variable_spec: IDENTIFIER COLON type
|
||||||
;
|
;
|
||||||
|
|
||||||
ptr_type: type STAR
|
ptr_type: type STAR
|
||||||
@ -179,6 +184,7 @@ expression: assign_expr
|
|||||||
;
|
;
|
||||||
|
|
||||||
assign_expr: lvalue ASSIGN expression
|
assign_expr: lvalue ASSIGN expression
|
||||||
|
| lvalue DASSIGN expression
|
||||||
;
|
;
|
||||||
|
|
||||||
lvalue: IDENTIFIER
|
lvalue: IDENTIFIER
|
||||||
|
Loading…
x
Reference in New Issue
Block a user