| Related articles |
|---|
| [14 earlier articles] |
| Re: Parsing partial sentences gneuner2@comcast.net (George Neuner) (2017-04-21) |
| Re: Parsing partial sentences walter@bytecraft.com (Walter Banks) (2017-04-27) |
| Re: Parsing partial sentences 686-678-9105@kylheku.com (Kaz Kylheku) (2017-04-27) |
| Re: Parsing partial sentences DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2017-04-28) |
| Re: Parsing partial sentences rugxulo@gmail.com (2017-04-28) |
| Re: Parsing partial sentences marcov@toad.stack.nl (Marco van de Voort) (2017-04-29) |
| Re: Parsing partial sentences 686-678-9105@kylheku.com (Kaz Kylheku) (2017-04-30) |
| From: | Kaz Kylheku <686-678-9105@kylheku.com> |
| Newsgroups: | comp.compilers |
| Date: | Sun, 30 Apr 2017 16:31:52 +0000 (UTC) |
| Organization: | Aioe.org NNTP Server |
| References: | 17-04-001 17-04-023 17-04-024 17-04-027 |
| Injection-Info: | miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="77038"; mail-complaints-to="abuse@iecc.com" |
| Keywords: | translator, C, Pascal |
| Posted-Date: | 30 Apr 2017 15:38:44 EDT |
On 2017-04-29, Marco van de Voort <marcov@toad.stack.nl> wrote:
> 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.
OP wrote that he's writing a C to Pascal translator. The face value
interpretation of that is that it handles programs.
Handling only headers would be the likely focus of a project for
automatically generating Pascal foreign function interface bindings
for C libraries: C to Pascal interface translation (C à la SWIG and
whatnot).
> This means that it cannot be considered a given that a program exists that
> uses all macros in the header.
A macro that is not used by a C program might be complete gibberish;
yet that program may still be well-formed.
#define ABC { ( 42 -> * "foo" ]
A C to Pascal translator which tries to treat unused macros might
needlessly choke on such a thing.
It is reasonable, nay wise, for a whole-program C to Pascal translator
to ignore C macros that are unused by the C program.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.