lingua-franca 0.10.1
Lingua Franca code generator
Loading...
Searching...
No Matches
org.lflang.analyses.c.CBaseAstVisitor< T > Class Template Reference

A base class that provides default implementations of the visit functions. More...

Inherits org.lflang.analyses.c.AbstractAstVisitor< T >, and org.lflang.analyses.c.CAstVisitor< T >.

Public Member Functions

visit (CAst.AstNode tree)
 Visit an AST, and return a user-defined result of the operation.
visit (CAst.AstNode tree, List< CAst.AstNode > nodeList)
 Visit an AST with a list of other AST nodes holding some information, and return a user-defined result of the operation.
visitAdditionNode (CAst.AdditionNode node)
 Arithmetic operators.
visitAdditionNode (CAst.AdditionNode node, List< CAst.AstNode > nodeList)
 Arithmetic operators.
visitAssignmentNode (CAst.AssignmentNode node)
visitAssignmentNode (CAst.AssignmentNode node, List< CAst.AstNode > nodeList)
visitAstNode (CAst.AstNode node)
 These default implementations are not meant to be used.
visitAstNode (CAst.AstNode node, List< CAst.AstNode > nodeList)
 Used for converting an AST into If Normal Form.
visitAstNodeBinary (CAst.AstNodeBinary node)
visitAstNodeBinary (CAst.AstNodeBinary node, List< CAst.AstNode > nodeList)
visitAstNodeDynamic (CAst.AstNodeDynamic node)
visitAstNodeDynamic (CAst.AstNodeDynamic node, List< CAst.AstNode > nodeList)
visitAstNodeUnary (CAst.AstNodeUnary node)
visitAstNodeUnary (CAst.AstNodeUnary node, List< CAst.AstNode > nodeList)
visitDivisionNode (CAst.DivisionNode node)
visitDivisionNode (CAst.DivisionNode node, List< CAst.AstNode > nodeList)
visitEqualNode (CAst.EqualNode node)
 Comparison operators.
visitEqualNode (CAst.EqualNode node, List< CAst.AstNode > nodeList)
 Comparison operators.
visitGreaterEqualNode (CAst.GreaterEqualNode node)
visitGreaterEqualNode (CAst.GreaterEqualNode node, List< CAst.AstNode > nodeList)
visitGreaterThanNode (CAst.GreaterThanNode node)
visitGreaterThanNode (CAst.GreaterThanNode node, List< CAst.AstNode > nodeList)
visitIfBlockNode (CAst.IfBlockNode node)
visitIfBlockNode (CAst.IfBlockNode node, List< CAst.AstNode > nodeList)
visitIfBodyNode (CAst.IfBodyNode node)
visitIfBodyNode (CAst.IfBodyNode node, List< CAst.AstNode > nodeList)
visitLessEqualNode (CAst.LessEqualNode node)
visitLessEqualNode (CAst.LessEqualNode node, List< CAst.AstNode > nodeList)
visitLessThanNode (CAst.LessThanNode node)
visitLessThanNode (CAst.LessThanNode node, List< CAst.AstNode > nodeList)
visitLiteralNode (CAst.LiteralNode node)
visitLiteralNode (CAst.LiteralNode node, List< CAst.AstNode > nodeList)
visitLogicalAndNode (CAst.LogicalAndNode node)
visitLogicalAndNode (CAst.LogicalAndNode node, List< CAst.AstNode > nodeList)
visitLogicalNotNode (CAst.LogicalNotNode node)
visitLogicalNotNode (CAst.LogicalNotNode node, List< CAst.AstNode > nodeList)
visitLogicalOrNode (CAst.LogicalOrNode node)
visitLogicalOrNode (CAst.LogicalOrNode node, List< CAst.AstNode > nodeList)
visitMultiplicationNode (CAst.MultiplicationNode node)
visitMultiplicationNode (CAst.MultiplicationNode node, List< CAst.AstNode > nodeList)
visitNegativeNode (CAst.NegativeNode node)
visitNegativeNode (CAst.NegativeNode node, List< CAst.AstNode > nodeList)
visitNotEqualNode (CAst.NotEqualNode node)
visitNotEqualNode (CAst.NotEqualNode node, List< CAst.AstNode > nodeList)
visitOpaqueNode (CAst.OpaqueNode node)
visitOpaqueNode (CAst.OpaqueNode node, List< CAst.AstNode > nodeList)
visitScheduleActionIntNode (CAst.ScheduleActionIntNode node)
visitScheduleActionIntNode (CAst.ScheduleActionIntNode node, List< CAst.AstNode > nodeList)
visitScheduleActionNode (CAst.ScheduleActionNode node)
visitScheduleActionNode (CAst.ScheduleActionNode node, List< CAst.AstNode > nodeList)
visitSetPortNode (CAst.SetPortNode node)
 LF built-in operations.
visitSetPortNode (CAst.SetPortNode node, List< CAst.AstNode > nodeList)
 LF built-in operations.
visitStatementSequenceNode (CAst.StatementSequenceNode node)
visitStatementSequenceNode (CAst.StatementSequenceNode node, List< CAst.AstNode > nodeList)
visitStateVarNode (CAst.StateVarNode node)
visitStateVarNode (CAst.StateVarNode node, List< CAst.AstNode > nodeList)
visitSubtractionNode (CAst.SubtractionNode node)
visitSubtractionNode (CAst.SubtractionNode node, List< CAst.AstNode > nodeList)
visitTriggerIsPresentNode (CAst.TriggerIsPresentNode node)
visitTriggerIsPresentNode (CAst.TriggerIsPresentNode node, List< CAst.AstNode > nodeList)
visitTriggerValueNode (CAst.TriggerValueNode node)
visitTriggerValueNode (CAst.TriggerValueNode node, List< CAst.AstNode > nodeList)
visitVariableNode (CAst.VariableNode node)
visitVariableNode (CAst.VariableNode node, List< CAst.AstNode > nodeList)

Detailed Description

A base class that provides default implementations of the visit functions.

Other C AST visitors extend this class.

Member Function Documentation

◆ visit() [1/2]

Visit an AST, and return a user-defined result of the operation.

Parameters
treeThe CAst.AstNode to visit.
Returns
The result of visiting the parse tree.

Implements org.lflang.analyses.c.AstVisitor< T >.

◆ visit() [2/2]

T org.lflang.analyses.c.AbstractAstVisitor< T >.visit ( CAst.AstNode tree,
List< CAst.AstNode > nodeList )
inherited

Visit an AST with a list of other AST nodes holding some information, and return a user-defined result of the operation.

Parameters
treeThe CAst.AstNode to visit.
nodeListA list of CAst.AstNode passed down the recursive call.
Returns
The result of visiting the parse tree.

Implements org.lflang.analyses.c.AstVisitor< T >.

◆ visitAdditionNode() [1/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitAdditionNode ( CAst.AdditionNode node)

Arithmetic operators.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitAdditionNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitAdditionNode ( CAst.AdditionNode node,
List< CAst.AstNode > nodeList )

Arithmetic operators.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitAssignmentNode() [1/2]

◆ visitAssignmentNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitAssignmentNode ( CAst.AssignmentNode node,
List< CAst.AstNode > nodeList )

◆ visitAstNode() [1/2]

These default implementations are not meant to be used.

They should be overriden by the child class. In theory, this base visitor can be deleted? Let's keep it here for now for consistency.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitAstNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitAstNode ( CAst.AstNode node,
List< CAst.AstNode > nodeList )

Used for converting an AST into If Normal Form.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitAstNodeBinary() [1/2]

◆ visitAstNodeBinary() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitAstNodeBinary ( CAst.AstNodeBinary node,
List< CAst.AstNode > nodeList )

◆ visitAstNodeDynamic() [1/2]

◆ visitAstNodeDynamic() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitAstNodeDynamic ( CAst.AstNodeDynamic node,
List< CAst.AstNode > nodeList )

◆ visitAstNodeUnary() [1/2]

◆ visitAstNodeUnary() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitAstNodeUnary ( CAst.AstNodeUnary node,
List< CAst.AstNode > nodeList )

◆ visitDivisionNode() [1/2]

◆ visitDivisionNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitDivisionNode ( CAst.DivisionNode node,
List< CAst.AstNode > nodeList )

◆ visitEqualNode() [1/2]

Comparison operators.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitEqualNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitEqualNode ( CAst.EqualNode node,
List< CAst.AstNode > nodeList )

Comparison operators.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitGreaterEqualNode() [1/2]

◆ visitGreaterEqualNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitGreaterEqualNode ( CAst.GreaterEqualNode node,
List< CAst.AstNode > nodeList )

◆ visitGreaterThanNode() [1/2]

◆ visitGreaterThanNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitGreaterThanNode ( CAst.GreaterThanNode node,
List< CAst.AstNode > nodeList )

◆ visitIfBlockNode() [1/2]

◆ visitIfBlockNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitIfBlockNode ( CAst.IfBlockNode node,
List< CAst.AstNode > nodeList )

◆ visitIfBodyNode() [1/2]

◆ visitIfBodyNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitIfBodyNode ( CAst.IfBodyNode node,
List< CAst.AstNode > nodeList )

◆ visitLessEqualNode() [1/2]

◆ visitLessEqualNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitLessEqualNode ( CAst.LessEqualNode node,
List< CAst.AstNode > nodeList )

◆ visitLessThanNode() [1/2]

◆ visitLessThanNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitLessThanNode ( CAst.LessThanNode node,
List< CAst.AstNode > nodeList )

◆ visitLiteralNode() [1/2]

◆ visitLiteralNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitLiteralNode ( CAst.LiteralNode node,
List< CAst.AstNode > nodeList )

◆ visitLogicalAndNode() [1/2]

◆ visitLogicalAndNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitLogicalAndNode ( CAst.LogicalAndNode node,
List< CAst.AstNode > nodeList )

◆ visitLogicalNotNode() [1/2]

◆ visitLogicalNotNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitLogicalNotNode ( CAst.LogicalNotNode node,
List< CAst.AstNode > nodeList )

◆ visitLogicalOrNode() [1/2]

◆ visitLogicalOrNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitLogicalOrNode ( CAst.LogicalOrNode node,
List< CAst.AstNode > nodeList )

◆ visitMultiplicationNode() [1/2]

◆ visitMultiplicationNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitMultiplicationNode ( CAst.MultiplicationNode node,
List< CAst.AstNode > nodeList )

◆ visitNegativeNode() [1/2]

◆ visitNegativeNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitNegativeNode ( CAst.NegativeNode node,
List< CAst.AstNode > nodeList )

◆ visitNotEqualNode() [1/2]

◆ visitNotEqualNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitNotEqualNode ( CAst.NotEqualNode node,
List< CAst.AstNode > nodeList )

◆ visitOpaqueNode() [1/2]

◆ visitOpaqueNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitOpaqueNode ( CAst.OpaqueNode node,
List< CAst.AstNode > nodeList )

◆ visitScheduleActionIntNode() [1/2]

◆ visitScheduleActionIntNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitScheduleActionIntNode ( CAst.ScheduleActionIntNode node,
List< CAst.AstNode > nodeList )

◆ visitScheduleActionNode() [1/2]

◆ visitScheduleActionNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitScheduleActionNode ( CAst.ScheduleActionNode node,
List< CAst.AstNode > nodeList )

◆ visitSetPortNode() [1/2]

LF built-in operations.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitSetPortNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitSetPortNode ( CAst.SetPortNode node,
List< CAst.AstNode > nodeList )

LF built-in operations.

Implements org.lflang.analyses.c.CAstVisitor< T >.

◆ visitStatementSequenceNode() [1/2]

◆ visitStatementSequenceNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitStatementSequenceNode ( CAst.StatementSequenceNode node,
List< CAst.AstNode > nodeList )

◆ visitStateVarNode() [1/2]

◆ visitStateVarNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitStateVarNode ( CAst.StateVarNode node,
List< CAst.AstNode > nodeList )

◆ visitSubtractionNode() [1/2]

◆ visitSubtractionNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitSubtractionNode ( CAst.SubtractionNode node,
List< CAst.AstNode > nodeList )

◆ visitTriggerIsPresentNode() [1/2]

◆ visitTriggerIsPresentNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitTriggerIsPresentNode ( CAst.TriggerIsPresentNode node,
List< CAst.AstNode > nodeList )

◆ visitTriggerValueNode() [1/2]

◆ visitTriggerValueNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitTriggerValueNode ( CAst.TriggerValueNode node,
List< CAst.AstNode > nodeList )

◆ visitVariableNode() [1/2]

◆ visitVariableNode() [2/2]

T org.lflang.analyses.c.CBaseAstVisitor< T >.visitVariableNode ( CAst.VariableNode node,
List< CAst.AstNode > nodeList )

The documentation for this class was generated from the following file:
  • /Users/runner/work/lingua-franca/lingua-franca/core/src/main/java/org/lflang/analyses/c/CBaseAstVisitor.java