// Input instruction. This will scan a character of input, and store it into wherever our memory pointer points to. public VisitResult VisitInput([Antlr4.Runtime.Misc.NotNull] BFParser.InputContext context) { var datPtr = GetValue(ptr); // Get data pointer. SetValue(datPtr, LLVM.BuildCall(builder, inputFunc, new LLVMValueRef[] { }, "Input_" + nameGen++)); // Read a char and store it where the pointer points to. return(null); }
/// <summary> /// Exit a parse tree produced by the <c>Input</c> /// labeled alternative in <see cref="BFParser.instruction"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitInput([NotNull] BFParser.InputContext context) { }
/// <summary> /// Visit a parse tree produced by the <c>Input</c> /// labeled alternative in <see cref="BFParser.instruction"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitInput([NotNull] BFParser.InputContext context) { return(VisitChildren(context)); }