Documentation ¶
Index ¶
- func FlattenStatement(statement bind.Boundstatement) *bind.BoundBlockStatements
- func Lower(statement bind.Boundstatement) *bind.BoundBlockStatements
- type BasicRewrite
- func (b *BasicRewrite) RewriteAssignmentExpression(w Rewrite, node *bind.BoundAssignmentExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteBinaryExpression(w Rewrite, node *bind.BoundBinaryExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteBlockStatement(w Rewrite, node *bind.BoundBlockStatements) bind.Boundstatement
- func (b *BasicRewrite) RewriteCallExpression(w Rewrite, node *bind.BoundCallExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteCondGotoStatement(w Rewrite, node *bind.ConditionalGotoStatement) bind.Boundstatement
- func (b *BasicRewrite) RewriteExpression(w Rewrite, node bind.BoundExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteExpressionStatement(w Rewrite, node *bind.BoundExpressStatements) bind.Boundstatement
- func (b *BasicRewrite) RewriteForStatement(w Rewrite, node *bind.BoundForStatements) bind.Boundstatement
- func (b *BasicRewrite) RewriteGotoStatement(w Rewrite, node *bind.GotoStatement) bind.Boundstatement
- func (b *BasicRewrite) RewriteIfStatement(w Rewrite, node *bind.BoundIfStatements) bind.Boundstatement
- func (b *BasicRewrite) RewriteLabelStatement(w Rewrite, node *bind.LabelStatement) bind.Boundstatement
- func (b *BasicRewrite) RewriteLiteralExpression(w Rewrite, node *bind.BoundLiteralExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteReturnStatement(w Rewrite, node *bind.BoundReturnStatements) bind.Boundstatement
- func (b *BasicRewrite) RewriteStatement(w Rewrite, node bind.Boundstatement) bind.Boundstatement
- func (b *BasicRewrite) RewriteUnaryExpression(w Rewrite, node *bind.BoundUnaryExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteUnitExpression(w Rewrite, node *bind.BoundUnitExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteVariableDeclaration(w Rewrite, node *bind.BoundVariableDeclaration) bind.Boundstatement
- func (b *BasicRewrite) RewriteVariableExpression(w Rewrite, node *bind.BoundVariableExpression) bind.BoundExpression
- func (b *BasicRewrite) RewriteWhileStatement(w Rewrite, node *bind.BoundWhileStatements) bind.Boundstatement
- type LowerRewrite
- func (l *LowerRewrite) GenerateLabel() *bind.BoundLabel
- func (l *LowerRewrite) RewriteForStatement(w Rewrite, node *bind.BoundForStatements) bind.Boundstatement
- func (l *LowerRewrite) RewriteIfStatement(w Rewrite, node *bind.BoundIfStatements) bind.Boundstatement
- func (l *LowerRewrite) RewriteWhileStatement(w Rewrite, node *bind.BoundWhileStatements) bind.Boundstatement
- type Rewrite
- type RewriteExpression
- type RewriteStatement
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FlattenStatement ¶
func FlattenStatement(statement bind.Boundstatement) *bind.BoundBlockStatements
func Lower ¶
func Lower(statement bind.Boundstatement) *bind.BoundBlockStatements
Types ¶
type BasicRewrite ¶
type BasicRewrite struct { }
func (*BasicRewrite) RewriteAssignmentExpression ¶
func (b *BasicRewrite) RewriteAssignmentExpression(w Rewrite, node *bind.BoundAssignmentExpression) bind.BoundExpression
func (*BasicRewrite) RewriteBinaryExpression ¶
func (b *BasicRewrite) RewriteBinaryExpression(w Rewrite, node *bind.BoundBinaryExpression) bind.BoundExpression
func (*BasicRewrite) RewriteBlockStatement ¶
func (b *BasicRewrite) RewriteBlockStatement(w Rewrite, node *bind.BoundBlockStatements) bind.Boundstatement
func (*BasicRewrite) RewriteCallExpression ¶
func (b *BasicRewrite) RewriteCallExpression(w Rewrite, node *bind.BoundCallExpression) bind.BoundExpression
func (*BasicRewrite) RewriteCondGotoStatement ¶
func (b *BasicRewrite) RewriteCondGotoStatement(w Rewrite, node *bind.ConditionalGotoStatement) bind.Boundstatement
func (*BasicRewrite) RewriteExpression ¶
func (b *BasicRewrite) RewriteExpression(w Rewrite, node bind.BoundExpression) bind.BoundExpression
func (*BasicRewrite) RewriteExpressionStatement ¶
func (b *BasicRewrite) RewriteExpressionStatement(w Rewrite, node *bind.BoundExpressStatements) bind.Boundstatement
func (*BasicRewrite) RewriteForStatement ¶
func (b *BasicRewrite) RewriteForStatement(w Rewrite, node *bind.BoundForStatements) bind.Boundstatement
func (*BasicRewrite) RewriteGotoStatement ¶
func (b *BasicRewrite) RewriteGotoStatement(w Rewrite, node *bind.GotoStatement) bind.Boundstatement
func (*BasicRewrite) RewriteIfStatement ¶
func (b *BasicRewrite) RewriteIfStatement(w Rewrite, node *bind.BoundIfStatements) bind.Boundstatement
func (*BasicRewrite) RewriteLabelStatement ¶
func (b *BasicRewrite) RewriteLabelStatement(w Rewrite, node *bind.LabelStatement) bind.Boundstatement
func (*BasicRewrite) RewriteLiteralExpression ¶
func (b *BasicRewrite) RewriteLiteralExpression(w Rewrite, node *bind.BoundLiteralExpression) bind.BoundExpression
func (*BasicRewrite) RewriteReturnStatement ¶
func (b *BasicRewrite) RewriteReturnStatement(w Rewrite, node *bind.BoundReturnStatements) bind.Boundstatement
func (*BasicRewrite) RewriteStatement ¶
func (b *BasicRewrite) RewriteStatement(w Rewrite, node bind.Boundstatement) bind.Boundstatement
func (*BasicRewrite) RewriteUnaryExpression ¶
func (b *BasicRewrite) RewriteUnaryExpression(w Rewrite, node *bind.BoundUnaryExpression) bind.BoundExpression
func (*BasicRewrite) RewriteUnitExpression ¶
func (b *BasicRewrite) RewriteUnitExpression(w Rewrite, node *bind.BoundUnitExpression) bind.BoundExpression
func (*BasicRewrite) RewriteVariableDeclaration ¶
func (b *BasicRewrite) RewriteVariableDeclaration(w Rewrite, node *bind.BoundVariableDeclaration) bind.Boundstatement
func (*BasicRewrite) RewriteVariableExpression ¶
func (b *BasicRewrite) RewriteVariableExpression(w Rewrite, node *bind.BoundVariableExpression) bind.BoundExpression
func (*BasicRewrite) RewriteWhileStatement ¶
func (b *BasicRewrite) RewriteWhileStatement(w Rewrite, node *bind.BoundWhileStatements) bind.Boundstatement
type LowerRewrite ¶
type LowerRewrite struct { Rewrite // contains filtered or unexported fields }
func (*LowerRewrite) GenerateLabel ¶
func (l *LowerRewrite) GenerateLabel() *bind.BoundLabel
func (*LowerRewrite) RewriteForStatement ¶
func (l *LowerRewrite) RewriteForStatement(w Rewrite, node *bind.BoundForStatements) bind.Boundstatement
func (*LowerRewrite) RewriteIfStatement ¶
func (l *LowerRewrite) RewriteIfStatement(w Rewrite, node *bind.BoundIfStatements) bind.Boundstatement
func (*LowerRewrite) RewriteWhileStatement ¶
func (l *LowerRewrite) RewriteWhileStatement(w Rewrite, node *bind.BoundWhileStatements) bind.Boundstatement
type Rewrite ¶
type Rewrite interface { RewriteStatement RewriteExpression }
type RewriteExpression ¶
type RewriteExpression interface { RewriteExpression(w Rewrite, node bind.BoundExpression) bind.BoundExpression RewriteLiteralExpression(w Rewrite, node *bind.BoundLiteralExpression) bind.BoundExpression RewriteVariableExpression(w Rewrite, node *bind.BoundVariableExpression) bind.BoundExpression RewriteAssignmentExpression(w Rewrite, node *bind.BoundAssignmentExpression) bind.BoundExpression RewriteUnaryExpression(w Rewrite, node *bind.BoundUnaryExpression) bind.BoundExpression RewriteBinaryExpression(w Rewrite, node *bind.BoundBinaryExpression) bind.BoundExpression RewriteCallExpression(w Rewrite, node *bind.BoundCallExpression) bind.BoundExpression RewriteUnitExpression(w Rewrite, node *bind.BoundUnitExpression) bind.BoundExpression }
type RewriteStatement ¶
type RewriteStatement interface { RewriteStatement(w Rewrite, node bind.Boundstatement) bind.Boundstatement RewriteBlockStatement(w Rewrite, node *bind.BoundBlockStatements) bind.Boundstatement RewriteVariableDeclaration(w Rewrite, node *bind.BoundVariableDeclaration) bind.Boundstatement RewriteIfStatement(w Rewrite, node *bind.BoundIfStatements) bind.Boundstatement RewriteWhileStatement(w Rewrite, node *bind.BoundWhileStatements) bind.Boundstatement RewriteForStatement(w Rewrite, node *bind.BoundForStatements) bind.Boundstatement RewriteLabelStatement(w Rewrite, node *bind.LabelStatement) bind.Boundstatement RewriteGotoStatement(w Rewrite, node *bind.GotoStatement) bind.Boundstatement RewriteCondGotoStatement(w Rewrite, node *bind.ConditionalGotoStatement) bind.Boundstatement RewriteReturnStatement(w Rewrite, node *bind.BoundReturnStatements) bind.Boundstatement RewriteExpressionStatement(w Rewrite, node *bind.BoundExpressStatements) bind.Boundstatement }
Click to show internal directories.
Click to hide internal directories.