public override object VisitStructVariableDeclaration_Variable([NotNull] CMinusParser.StructVariableDeclaration_VariableContext context)
        {
            string symbolType = SymbolTable.Symbol.RemoveExtras(context.typeSpecifier().GetText());

            if (symbolType == "void")
            {
                this.EmitSemanticErrorMessage("Variable declared as void type", context);
            }

            return(new SymbolTable.Symbol(
                       id: context.ID().GetText(),
                       type: symbolType,
                       construct: SymbolTable.Symbol.Construct.VARIABLE,
                       scope: 1,
                       size: 1,
                       pointerCount: SymbolTable.Symbol.CountStringAsterisks(context.typeSpecifier().GetText())
                       ));
        }
Esempio n. 2
0
 // TODO
 public override object VisitStructVariableDeclaration_Variable([NotNull] CMinusParser.StructVariableDeclaration_VariableContext context)
 {
     return(base.VisitStructVariableDeclaration_Variable(context));
 }