예제 #1
0
        public static IVariable BuildVariable(MonoLangParser.VarContext context, bool isPointer = false)
        {
            var namedVar   = context.named_var();
            var indexedVar = context.indexed_var();

            if (namedVar != null)
            {
                return(new NamedVariable(namedVar.name().NAME().GetText(), isPointer));
            }
            else if (indexedVar != null)
            {
                return(new IndexedVariable(indexedVar.name().NAME().GetText(), new Index(0, 0), isPointer));
            }
            return(null);
        }
예제 #2
0
 public POP_Instruction(MonoLangParser.VarContext varContext)
 {
     _variable = VariableFactory.BuildVariable(varContext);
 }
예제 #3
0
 public ASSIGN_Instruction(MonoLangParser.VarContext varContext, MonoLangParser.ExpressionContext[] expressionContext)
 {
     _variable   = VariableFactory.BuildVariable(varContext);
     _expression = ExpressionFactory.BuildExpression(expressionContext[0]);
 }
예제 #4
0
 public READ_Instruction(MonoLangParser.PortContext portContext, MonoLangParser.VarContext varContext)
 {
     _portName = portContext.name().NAME().GetText();
     _variable = VariableFactory.BuildVariable(varContext);
 }