diff --git a/docs/grammar/README.md b/docs/grammar/README.md index 4522f663a9..9eaa014ba9 100644 --- a/docs/grammar/README.md +++ b/docs/grammar/README.md @@ -148,6 +148,7 @@ keyword = %s"address" / %s"char" / %s"console" / %s"const" + / %s"constant" / %s"else" / %s"field" / %s"for" @@ -399,6 +400,7 @@ symbol = "!" / "&&" / "||" / "+" / "-" / "*" / "/" / "**" / "=" / "(" / ")" + / "[" / "]" / "{" / "}" / "," / "." / ".." / ";" / ":" / "?" / "->" / "_" @@ -805,7 +807,7 @@ Go to: _[function-parameter](#user-content-function-parameter)_; ```abnf -function-parameter = [ %s"public" / %s"const" ] identifier ":" type +function-parameter = [ %s"public" / %s"constant" / %s"const" ] identifier ":" type ``` Go to: _[identifier](#user-content-identifier), [type](#user-content-type)_; @@ -866,4 +868,56 @@ Go to: _[format-string-close-brace](#user-content-format-string-close-brace), [f ```abnf format-string = *format-string-element +``` + + +-------- + + +Input Grammar +------------- + + +```abnf +input-type = type +``` + +Go to: _[type](#user-content-type)_; + + + +```abnf +input-expression = literal +``` + +Go to: _[literal](#user-content-literal)_; + + + +```abnf +input-item = identifier ":" input-type "=" input-expression ";" +``` + +Go to: _[identifier](#user-content-identifier), [input-expression](#user-content-input-expression), [input-type](#user-content-input-type)_; + + + +```abnf +input-title = "[" identifier "]" +``` + +Go to: _[identifier](#user-content-identifier)_; + + + +```abnf +input-section = input-title *input-item +``` + +Go to: _[input-title](#user-content-input-title)_; + + + +```abnf +input-file = *input-section diff --git a/docs/grammar/abnf-grammar.txt b/docs/grammar/abnf-grammar.txt index 5b91993063..c8db7517c9 100644 --- a/docs/grammar/abnf-grammar.txt +++ b/docs/grammar/abnf-grammar.txt @@ -177,6 +177,7 @@ symbol = "!" / "&&" / "||" / "+" / "-" / "*" / "/" / "**" / "=" / "(" / ")" + / "[" / "]" / "{" / "}" / "," / "." / ".." / ";" / ":" / "?" / "->" / "_" @@ -346,3 +347,20 @@ format-string-element = not-brace / format-string-close-brace format-string = *format-string-element + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; Input Grammar +; ------------- + +input-type = type + +input-expression = literal + +input-item = identifier ":" input-type "=" input-expression ";" + +input-title = "[" identifier "]" + +input-section = input-title *input-item + +input-file = *input-section