public override void ExitBodyStatement([NotNull] CmanParser.BodyStatementContext context) { //TODO: пересмотреть var statements = new List <IASTStatementNode>(); while (_nodes.Peek() is IASTStatementNode && !(_nodes.Peek() is ASTBodyStatementNode)) { statements.Add((IASTStatementNode)_nodes.Pop()); } var bodyNode = (ASTBodyStatementNode)_nodes.Peek(); foreach (var s in statements) { bodyNode.AddStatement(s); } }
public override void EnterBodyStatement([NotNull] CmanParser.BodyStatementContext context) { _nodes.Push(new ASTBodyStatementNode(context, _nodes.Peek())); }