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] – [Security labels] racruz | research:software:secdart [2017/12/05 18:05] (current) – [Dart subset] racruz | ||
|---|---|---|---|
| Line 26: | Line 26: | ||
| SecDart covers a subset of the language and add security labels to language constructors | SecDart covers a subset of the language and add security labels to language constructors | ||
| - | ==== 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: | ||

