feat: add keyword of functions

add keyword "view" for functions, to record functions that don't change contract status after execution
This commit is contained in:
Frank.R.Wu 2021-11-01 17:11:32 +08:00
parent af0637377e
commit df920d4cf1
3 changed files with 13 additions and 8 deletions

3
.gitignore vendored
View File

@ -1,2 +1,3 @@
/gen/
/input/JavaScriptLexer.tokens
/input/JavaScriptLexer.tokens
/input/gen

View File

@ -147,11 +147,15 @@ AtLeastOnce: 'AT_LEAST_ONCE';
AtMostOnce: 'AT_MOST_ONCE';
OnlyOnce: 'ONLY_ONCE';
// Event Global or Local
/// Event Global or Local
Global: 'global';
Local: 'local';
/// Function Type
View: 'view';
/// Future Reserved Words
Class: 'class';

View File

@ -63,11 +63,6 @@ clzOrFunctionDeclaration
|functionDeclaration
|eventDeclaration
;
eventSemantics
:AtLeastOnce
|AtMostOnce
|OnlyOnce
;
eventDeclaration
:Event eventGlobalOrLocal? Identifier SemiColon
|Event eventGlobalOrLocal? Identifier '(' eventSemantics? ')' SemiColon
@ -76,6 +71,11 @@ eventGlobalOrLocal
:Global
|Local
;
eventSemantics
:AtLeastOnce
|AtMostOnce
|OnlyOnce
;
sourceElement
: statement
;
@ -213,7 +213,7 @@ debuggerStatement
;
functionDeclaration
: annotations? Export? Function Identifier '(' formalParameterList? ')' '{' functionBody '}'
: annotations? Export? Function Identifier '(' formalParameterList? ')' View '{' functionBody '}'
;
classDeclaration