Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Marco van de Voort Newsgroups: comp.compilers Subject: Re: Parsing partial sentences Date: Sat, 29 Apr 2017 14:57:26 +0000 (UTC) Organization: Stack Usenet News Service Lines: 18 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <17-04-027@comp.compilers> References: <17-04-001@comp.compilers> <17-04-023@comp.compilers> <17-04-024@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Injection-Info: miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="62527"; mail-complaints-to="abuse@iecc.com" Keywords: parse, translator Posted-Date: 29 Apr 2017 11:02:57 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:1866 On 2017-04-27, Kaz Kylheku <686-678-9105@kylheku.com> wrote: >> In a word NO. #defines are always strings even when they look like >> constants, something I have found out the hard way. There have only been >> two ways that I have successfully dealt with #defines: a preprocessor >> pass or later and much faster pipeline the processing of C source and >> add the defined definition processing into part of the source fetch >> handling. > > If we allow Pascal to be extended with a macro preprocessor, I think most interest in C->Pascal header translators is for (semi)automated translation of 3rd party library headers, not converting complete programs. This means that it cannot be considered a given that a program exists that uses all macros in the header. Estabilishing rules or heuristics to judge if a macro could be a constant would be useful though.