Пример #1
0
 public override ASTNode VisitArraySize([NotNull] DaedalusParser.ArraySizeContext context)
 {
     if (context.reference() != null)
     {
         return(VisitReference(context.reference()));
     }
     return(new IntegerLiteralNode(GetLocation(context), long.Parse(context.GetText())));
 }
Пример #2
0
        public static int EvaluteArraySize(DaedalusParser.ArraySizeContext context, AssemblyBuilder assemblyBuilder)
        {
            string arraySizeText = context.GetText();

            // simple value
            if (int.TryParse(context.GetText(), out var arraySize) == false)
            {
                arraySize = (int)assemblyBuilder.GetSymbolByName(arraySizeText).Content.First();
            }

            return(arraySize);
        }
Пример #3
0
 /// <summary>
 /// Visit a parse tree produced by <see cref="DaedalusParser.arraySize"/>.
 /// <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 VisitArraySize([NotNull] DaedalusParser.ArraySizeContext context)
 {
     return(VisitChildren(context));
 }
 /// <summary>
 /// Exit a parse tree produced by <see cref="DaedalusParser.arraySize"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitArraySize([NotNull] DaedalusParser.ArraySizeContext context)
 {
 }