Example #1
0
        /// <summary>
        /// run the reader
        /// </summary>
        public bool Process()
        {
            if (_input != null)
            {
                try
                {
                    otCSVLexer _lexer = new otCSVLexer(_input);
                    _lexer.Delimiter = _delimiter;
                    // wrap a token-stream around the lexer
                    Antlr4.Runtime.CommonTokenStream tokens = new Antlr4.Runtime.CommonTokenStream(_lexer);
                    // create the aParser
                    otCSVParser aParser = new otCSVParser(tokens);
                    aParser.RemoveErrorListeners();
                    aParser.AddErrorListener(new ErrorListener());
                    otCSVParser.CsvbufferContext aTree = aParser.csvbuffer();
                    // walk the parse tree
                    DataBuilder aListener = new DataBuilder(aParser);
                    Antlr4.Runtime.Tree.ParseTreeWalker.Default.Walk(aListener, aTree);
                    // result
                    _header = aListener.Header;
                    _rows   = aListener.Rows;
                    return(true);
                } catch (Exception ex) {
                    return(false);
                }
            }

            return(false);
        }
Example #2
0
 private List <String[]> _rows;                // rows are list of String
 /// <summary>
 /// constructor
 /// </summary>
 /// <param name="parser"></param>
 public DataBuilder(otCSVParser parser)
 {
     _parser = parser;
 }