是否可以只用 antlr4 解析文件的前半部分?我正在解析大文件,并且正在使用 UnbufferedCharStream 和 UnbufferedTokenStream。
我没有构建解析树,而是使用解析操作而不是访问者/侦听器模式。有了这些,我能够节省大量的 RAM 并提高解析速度。
然而,解析整个文件仍然需要大约 15 秒。解析后的文件分为两部分。文件的前半部分有元数据,后半部分是实际数据。大部分时间都花在数据部分,因为有超过 3m。要解析的行。元数据部分只有大约 20,000 行。是否可以只解析前半部分,这会显着提高解析速度?是否可以在元数据部分之后手动注入 EOF?
把文件分成两份怎么样?