public override void Visit(VariableDclNode node) { _symbolTable.SetCurrentNode(node); VisitChildren(node); if (node.Children.Count > 0) { CheckAllowedCast(node.Type_enum, node.Children[0].Type_enum); } }
public override void Visit(VariableDclNode node) { ProgramCode.Append(node.Type); ProgramCode.Append($" {node.Name}"); if (node.HasChildren) { ProgramCode.Append(" = "); VisitChildren(node); } ProgramCode.Append(";\n"); }
public override AbstractNode VisitVariableDcl([NotNull] GiraphParser.VariableDclContext context) { VariableDclNode VariableNode = new VariableDclNode(context.Start.Line, context.Start.Column); VariableNode.Type = context.TYPE().GetText(); VariableNode.Name = context.variable().GetText(); if (context.EQUALS() != null) { VariableNode.AdoptChildren(Visit(context.boolCompOrExp())); } return(VariableNode); }
//All the visit stuff----------------------------------------- public override void Visit(VariableDclNode node) { var name = node.Name; VisitChildren(node); SymbolTable.SetCurrentNode(node); if (CheckAlreadyDeclared(node.Name)) { SymbolTable.EnterSymbol(node.Name, node.Type_enum); } if (node.Children.Count > 0) { SymbolTable.SetAssigned(node.Name); } }
public override void Visit(VariableDclNode node) { var OldStringbuilder = _currentStringBuilder; if (node.Global) { _currentStringBuilder = Global; } _currentStringBuilder.Append("\n"); if (node.Global) { _currentStringBuilder.Append("public static "); } _currentStringBuilder.Append(ResolveTypeToCS(node.Type_enum) + " "); _currentStringBuilder.Append(HandleCSharpKeywords(node.Name)); if (node.Children.Count > 0) { _currentStringBuilder.Append(" = "); foreach (var item in node.Children) { bool tester = item is ExpressionNode expNode && expNode.hasparentheses; if (tester) { _currentStringBuilder.Append("("); } item.Accept(this); if (tester) { _currentStringBuilder.Append(")"); } } } _currentStringBuilder.Append(";\n"); _currentStringBuilder = OldStringbuilder; }
public abstract void Visit(VariableDclNode node);