_Core/Lang/Parser/Visitor.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ComLib.Lang
{
    /// <summary>
    /// Class that visits each ast node in the trees.
    /// </summary>
    public class AstVisitor
    {
        /// <summary>
        /// Callback 
        /// </summary>
        private Action<AstNode> _callBack;


        /// <summary>
        /// Initialize
        /// </summary>
        public AstVisitor()
        {
            _callBack = null;
        }


        /// <summary>
        /// Initialize
        /// </summary>
        public AstVisitor(Action<AstNode> callBack)
        {
            _callBack = callBack;
        }


        /// <summary>
        /// Visits each statement
        /// </summary>
        /// <param name="stmts"></param>
        public void Visit(List<Stmt> stmts)
        {
            foreach (var stmt in stmts)
            {
                Visit(stmt);
            }
        }


        /// <summary>
        /// Visit the statement
        /// </summary>
        /// <param name="stmt"></param>
        public void Visit( Stmt stmt)
        {
            if (stmt is AssignStmt)
                Var(stmt as AssignStmt);

            else if (stmt is ForStmt)
                For(stmt as ForStmt);
后面还有 176 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。