The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
|
Abstract class for all nodes that compounds the abstract syntax tree. More...
Public Member Functions | |
abstract Object | Accept (Visitor v, Object o) |
Accept method of a concrete visitor. More... | |
override bool | Equals (object obj) |
AntLR compares Nodes with the class name. This is not correct for our purposes. More... | |
override int | GetHashCode () |
virtual object | AcceptOperation (AstOperation op, object arg) |
Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically More... | |
Protected Member Functions | |
AstNode (Location location) | |
Protected constructor of NodeAst More... | |
Protected Attributes | |
Location | location |
Location: Encapsulates in one object the line, column and filename More... | |
Properties | |
Location | Location [get] |
Abstract class for all nodes that compounds the abstract syntax tree.
Implements Composite pattern [Component]. Implements Visitor pattern [Element].
Definition at line 33 of file AstNode.cs.
|
protected |
Protected constructor of NodeAst
location |
localization (file, line, and column) of the node in the text program
Definition at line 59 of file AstNode.cs.
|
pure virtual |
Accept method of a concrete visitor.
v | Concrete visitor |
o | Optional information to use in the visit. |
Implemented in AST.ForStatement, AST.SourceFile, AST.IfElseStatement, AST.SwitchStatement, AST.SingleIdentifierExpression, AST.Block, AST.AssignmentExpression, AST.TypeDefinition, AST.UnaryExpression, AST.TernaryExpression, AST.WhileStatement, AST.NewArrayExpression, AST.MethodDeclaration, AST.ThetaStatement, AST.ExceptionManagementStatement, AST.IdDeclaration, AST.ArgumentExpression, AST.DoStatement, AST.RelationalExpression, AST.FieldAccessExpression, AST.SwitchLabel, AST.SwitchSection, AST.BitwiseExpression, AST.CompoundExpression, AST.DeclarationSet, AST.ArithmeticExpression, AST.FieldDeclaration, AST.Definition, AST.ForeachStatement, AST.IsExpression, AST.CastExpression, AST.MoveStatement, AST.Namespace, AST.BaseCallExpression, AST.ReturnStatement, AST.LogicalExpression, AST.MethodDefinition, AST.PropertyDefinition, AST.ArrayAccessExpression, AST.FieldDeclarationSet, AST.NewExpression, AST.QualifiedIdentifierExpression, AST.AssertStatement, AST.CatchStatement, AST.ClassDefinition, AST.DoubleLiteralExpression, AST.ConstructorDefinition, AST.InvocationExpression, AST.IntLiteralExpression, AST.FieldDefinition, AST.BoolLiteralExpression, AST.StringLiteralExpression, AST.CharLiteralExpression, AST.ThrowStatement, AST.ConstantDefinition, AST.ConstantFieldDefinition, AST.InterfaceDefinition, AST.BreakStatement, AST.NullExpression, AST.BaseExpression, AST.ThisExpression, and AST.ContinueStatement.
|
virtual |
Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically
op | AstOperation to dispatch |
Reimplemented in AST.SingleIdentifierExpression, AST.NewArrayExpression, AST.IdDeclaration, AST.Expression, AST.FieldAccessExpression, AST.Definition, AST.BaseCallExpression, AST.Declaration, AST.NewExpression, AST.InvocationExpression, AST.IdentifierExpression, AST.BaseExpression, and AST.Statement.
Definition at line 104 of file AstNode.cs.
override bool AST.AstNode.Equals | ( | object | obj | ) |
AntLR compares Nodes with the class name. This is not correct for our purposes.
obj | The other ast node to compare |
Definition at line 84 of file AstNode.cs.
override int AST.AstNode.GetHashCode | ( | ) |
Definition at line 90 of file AstNode.cs.
|
protected |
Location: Encapsulates in one object the line, column and filename
Definition at line 39 of file AstNode.cs.
|
get |
Definition at line 45 of file AstNode.cs.