public override object VisitFactor(NexusParser.FactorContext context) { if (context.number() != null) { return(VisitNumber(context.number())); } if (context.truth_value() != null) { return(VisitTruth_value(context.truth_value())); } if (context.BINARY() != null) { var number = NumberLiteral.ParseBinary(context.BINARY().GetText().Substring(2), context.Start.Line, context.Start.Column); number.FilePath = FileParser.CurrentPath; return(number); } if (context.HEX() != null) { var number = NumberLiteral.ParseHex(context.HEX().GetText().Substring(2), context.Start.Line, context.Start.Column); number.FilePath = FileParser.CurrentPath; return(number); } if (context.quoted_text() != null) { return(new Text { Value = context.quoted_text().text == null ? string.Empty : context.quoted_text().text.Text, Line = context.Start.Line, Column = context.Start.Column, FilePath = FileParser.CurrentPath }); } if (context.IDENTIFIER() != null) { return(new VariableLiteral { Name = context.IDENTIFIER().GetText(), Line = context.Start.Line, Column = context.Start.Column, FilePath = FileParser.CurrentPath }); } return(base.VisitFactor(context)); }