mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Support types in grammar
This commit is contained in:
parent
0493828916
commit
be470f107e
@ -78,12 +78,12 @@ Grammar::
|
|||||||
BreakContinue |
|
BreakContinue |
|
||||||
SubAssembly
|
SubAssembly
|
||||||
FunctionDefinition =
|
FunctionDefinition =
|
||||||
'function' Identifier '(' IdentifierList? ')'
|
'function' Identifier '(' TypedIdentifierList? ')'
|
||||||
( '->' IdentifierList )? Block
|
( '->' TypedIdentifierList )? Block
|
||||||
VariableDeclaration =
|
VariableDeclaration =
|
||||||
'let' IdentifierOrList ( ':=' Expression )?
|
'let' TypedIdentifierList ( ':=' Expression )?
|
||||||
Assignment =
|
Assignment =
|
||||||
IdentifierOrList ':=' Expression
|
IdentifierList ':=' Expression
|
||||||
Expression =
|
Expression =
|
||||||
FunctionCall | Identifier | Literal
|
FunctionCall | Identifier | Literal
|
||||||
Switch =
|
Switch =
|
||||||
@ -98,11 +98,11 @@ Grammar::
|
|||||||
'assembly' Identifier Block
|
'assembly' Identifier Block
|
||||||
FunctionCall =
|
FunctionCall =
|
||||||
Identifier '(' ( Expression ( ',' Expression )* )? ')'
|
Identifier '(' ( Expression ( ',' Expression )* )? ')'
|
||||||
IdentifierOrList = Identifier | '(' IdentifierList ')'
|
|
||||||
Identifier = [a-zA-Z_$] [a-zA-Z_0-9]*
|
Identifier = [a-zA-Z_$] [a-zA-Z_0-9]*
|
||||||
IdentifierList = Identifier ( ',' Identifier)*
|
IdentifierList = Identifier ( ',' Identifier)*
|
||||||
|
TypedIdentifierList = Identifier ':' Identifier ( ',' Identifier ':' Identifier )*
|
||||||
Literal =
|
Literal =
|
||||||
NumberLiteral | StringLiteral | HexLiteral
|
(NumberLiteral | StringLiteral | HexLiteral) ':' Identifier
|
||||||
NumberLiteral = HexNumber | DecimalNumber
|
NumberLiteral = HexNumber | DecimalNumber
|
||||||
HexLiteral = 'hex' ('"' ([0-9a-fA-F]{2})* '"' | '\'' ([0-9a-fA-F]{2})* '\'')
|
HexLiteral = 'hex' ('"' ([0-9a-fA-F]{2})* '"' | '\'' ([0-9a-fA-F]{2})* '\'')
|
||||||
StringLiteral = '"' ([^"\r\n\\] | '\\' .)* '"'
|
StringLiteral = '"' ([^"\r\n\\] | '\\' .)* '"'
|
||||||
|
Loading…
Reference in New Issue
Block a user