mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Fix StructDef. Add BoolLiteral. Def NumLiteral, StringLiteral and Identifier.
This commit is contained in:
		
							parent
							
								
									1e2f071a11
								
							
						
					
					
						commit
						f003bdafa6
					
				| @ -5,7 +5,7 @@ ContractPart = StateVariableDeclaration | StructDefinition | ModifierDefinition | |||||||
| 
 | 
 | ||||||
| InheritanceSpecifier = Identifier ( '(' Expression ( ',' Expression )* ')' )? | InheritanceSpecifier = Identifier ( '(' Expression ( ',' Expression )* ')' )? | ||||||
| StructDefinition = 'struct' Identifier '{' | StructDefinition = 'struct' Identifier '{' | ||||||
|                      ( VariableDeclaration (';' VariableDeclaration)* )? '}' |                      ( VariableDeclaration ';' (VariableDeclaration ';')* )? '}' | ||||||
| StateVariableDeclaration = TypeName ( 'public' | 'internal' | 'private' )? Identifier ';' | StateVariableDeclaration = TypeName ( 'public' | 'internal' | 'private' )? Identifier ';' | ||||||
| ModifierDefinition = 'modifier' Identifier ParameterList? Block | ModifierDefinition = 'modifier' Identifier ParameterList? Block | ||||||
| FunctionDefinition = 'function' Identifier ParameterList | FunctionDefinition = 'function' Identifier ParameterList | ||||||
| @ -29,7 +29,7 @@ Statement = IfStatement | WhileStatement | ForStatement | Block | | |||||||
| ExpressionStatement = Expression | ExpressionStatement = Expression | ||||||
| IfStatement = 'if' '(' Expression ')' Statement ( 'else' Statement )? | IfStatement = 'if' '(' Expression ')' Statement ( 'else' Statement )? | ||||||
| WhileStatement = 'while' '(' Expression ')' Statement | WhileStatement = 'while' '(' Expression ')' Statement | ||||||
| VardefOrExprStmt = Variabledefinition | ExpressionStatement | VardefOrExprStmt = VariableDefinition | ExpressionStatement | ||||||
| ForStatement = 'for' '(' (VardefOrExprStmt)? ';' (Expression)? ';' (ExpressionStatement)? ')' Statement | ForStatement = 'for' '(' (VardefOrExprStmt)? ';' (Expression)? ';' (ExpressionStatement)? ')' Statement | ||||||
| Continue = 'continue' | Continue = 'continue' | ||||||
| Break = 'break' | Break = 'break' | ||||||
| @ -50,7 +50,12 @@ FunctionCall = Identifier '(' Expression? ( ',' Expression )* ')' | |||||||
| NewExpression = 'new' Identifier | NewExpression = 'new' Identifier | ||||||
| MemberAccess = Expression '.' Identifier | MemberAccess = Expression '.' Identifier | ||||||
| IndexAccess = Expression '[' Expression? ']' | IndexAccess = Expression '[' Expression? ']' | ||||||
| PrimaryExpression = Identifier | NumberLiteral | StringLiteral | ElementaryTypeName | '(' Expression ')' | PrimaryExpression = Identifier | BooleanLiteral | NumberLiteral | StringLiteral | ElementaryTypeName | '(' Expression ')' | ||||||
|  | 
 | ||||||
|  | BooleanLiteral = 'true' | 'false' | ||||||
|  | NumberLiteral = [0-9]+ | ||||||
|  | StringLiteral = '"' [a-zA-Z_0-9]* '"' | ||||||
|  | Identifier = [a-zA-Z_] [a-zA-Z_0-9]* | ||||||
| 
 | 
 | ||||||
| ElementaryTypeName = 'address' | 'bool' | 'string' | ElementaryTypeName = 'address' | 'bool' | 'string' | ||||||
|     | 'int' | 'int8' | 'int16' | 'int24' | 'int32' | 'int40' | 'int48' | 'int56' | 'int64' | 'int72' | 'int80' | 'int88' | 'int96' | 'int104' | 'int112' | 'int120' | 'int128' | 'int136' | 'int144' | 'int152' | 'int160' | 'int168' | 'int176' | 'int184' | 'int192' | 'int200' | 'int208' | 'int216' | 'int224' | 'int232' | 'int240' | 'int248' | 'int256' |     | 'int' | 'int8' | 'int16' | 'int24' | 'int32' | 'int40' | 'int48' | 'int56' | 'int64' | 'int72' | 'int80' | 'int88' | 'int96' | 'int104' | 'int112' | 'int120' | 'int128' | 'int136' | 'int144' | 'int152' | 'int160' | 'int168' | 'int176' | 'int184' | 'int192' | 'int200' | 'int208' | 'int216' | 'int224' | 'int232' | 'int240' | 'int248' | 'int256' | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user