Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
research:software:secdart [2017/05/31 02:15] – [Dart SubSet] racruz | research:software:secdart [2017/12/05 18:05] (current) – [Dart subset] racruz | ||
---|---|---|---|
Line 27: | Line 27: | ||
==== Dart subset ==== | ==== Dart subset ==== | ||
- | //Details about the subset of Dart covers for SecDart will be placed here soon// | + | The following BNF notation represents |
+ | < | ||
+ | | ||
+ | | [FunctionDeclaration] | ||
+ | | ||
+ | | ||
+ | ' | ||
+ | | functionSignature [FunctionBody] | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | [Expression] [Token] [Expression] | ||
+ | |||
+ | |||
+ | | ||
+ | | ||
+ | | [EmptyFunctionBody] | ||
+ | | [ExpressionFunctionBody] | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | block ::= ' | ||
+ | |||
+ | | ||
+ | | ||
+ | | [VariableDeclarationStatement] | ||
+ | | [IfStatement] | ||
+ | | [ReturnStatement] | ||
+ | | [ExpressionStatement] | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | ' | ||
+ | |||
+ | | ||
+ | ' | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | | ||
+ | | ||
+ | | [ConditionalExpression] cascadeSection* | ||
+ | //the Dart grammar does not include the followings nodes here to avoid left recursion, however for the sake of presentation we inline them here. | ||
+ | | [BinaryExpression] | ||
+ | | [InvocationExpression] | ||
+ | | [Literal] | ||
+ | | [ParenthesizedExpression] | ||
+ | | [Identifier] | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | </ | ||
==== Security labels ==== | ==== Security labels ==== | ||
SecDart uses annotations to specify security labels. We can specify security labels for the following entities: | SecDart uses annotations to specify security labels. We can specify security labels for the following entities: |