Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Hans-Peter Diettrich Newsgroups: comp.compilers Subject: Re: Parsing using a Graphics Processing Unit (GPU)? Date: Wed, 2 Sep 2020 22:34:18 +0200 Organization: Compilers Central Lines: 23 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <20-09-011@comp.compilers> References: <20-09-001@comp.compilers> <20-09-002@comp.compilers> <20-09-008@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="2917"; mail-complaints-to="abuse@iecc.com" Keywords: parallel, performance, comment Posted-Date: 02 Sep 2020 16:43:08 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2582 Am 02.09.2020 um 11:13 schrieb Jan Ziak: > On Tuesday, September 1, 2020 at 6:03:27 PM UTC+2, Christian Gollwitzer wrote: >> The parser reads the input as a stream of >> tokens; you can't split the C file at some arbitrary point in half and >> parse both parts independently. > > Of course you can split asm/C/C++/Go/Python/Rust/etc file at arbitrary > points: Certainly not for C/C++. The preprocessor and included files modify the original source. That's one of the reasons for the slow C/C++ compilation. > when the state of the lexical analyzer collapses to a single > state starting from a random file position with an arbitrary starting > state. If you mean the lexer by "lexical analysis", that's only a front end for the parser. A compiler needs more state and context information like symbol tables, which can not be built from arbitrary parts of a source file. DoDi [One can certainly pipeline the C preprocessor and later phases but I'm guessing that's not what you're talking about here. -John]