コード例 #1
0
        public string Visit(CIL_Asig node)
        {
            int value = GetValueFromId(node.Expr);
            int dir   = variableaddr.Peek()[node.Id];

            mem.SetValue(dir, value);
            return("");
        }
コード例 #2
0
        public string Visit(CIL_Asig node)
        {
            string solve = "";
            int    val;

            if (int.TryParse(node.Expr, out val))
            {
                solve += $"\t li $t0, {val}\n";
                solve += $"\t sw $t0, {context_function[node.Id]}\n";
            }
            else
            {
                solve += $"\t lw $t0, {context_function[node.Expr]}\n";
                solve += $"\t sw $t0, {context_function[node.Id]}\n";
            }
            return(solve);
        }