diff --git a/libsolidity/grammar.txt b/libsolidity/grammar.txt index afeb1d00c..e997e180a 100644 --- a/libsolidity/grammar.txt +++ b/libsolidity/grammar.txt @@ -1,6 +1,11 @@ -ContractDefinition = ( 'contract' | 'library' ) Identifier +ContractDefinition = ('import' Imports ';')* + ( 'contract' | 'library' ) Identifier ( 'is' InheritanceSpecifier (',' InheritanceSpecifier )* )? '{' ContractPart* '}' +Imports = StringLiteral ('as' Identifier)? + | ('*' | Identifier) ('as' Identifier)? 'from' StringLiteral + | '{' Identifier ('as' Identifier)? ( ',' Identifier ('as' Identifier)? )* '}' 'from' StringLiteral + ContractPart = StateVariableDeclaration | StructDefinition | ModifierDefinition | FunctionDefinition | EventDefinition | EnumDefinition InheritanceSpecifier = Identifier ( '(' Expression ( ',' Expression )* ')' )?