Re: How do you create a grammar for a multi-language language?

gah4 <gah4@u.washington.edu>
Sun, 6 Mar 2022 14:36:01 -0800 (PST)

          From comp.compilers

Related articles
How do you create a grammar for a multi-language language? costello@mitre.org (Roger L Costello) (2022-03-03)
Re: How do you create a grammar for a multi-language language? costello@mitre.org (Roger L Costello) (2022-03-05)
Re: How do you create a grammar for a multi-language language? ak@akkartik.com (Kartik Agaram) (2022-03-05)
Re: How do you create a grammar for a multi-language language? gah4@u.washington.edu (gah4) (2022-03-05)
Re: How do you create a grammar for a multi-language language? DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2022-03-06)
RE: How do you create a grammar for a multi-language language? christopher.f.clark@compiler-resources.com (Christopher F Clark) (2022-03-06)
Re: How do you create a grammar for a multi-language language? gah4@u.washington.edu (gah4) (2022-03-06)
Re: How do you create a grammar for a multi-language language? gah4@u.washington.edu (gah4) (2022-03-06)
Re: How do you create a grammar for a multi-language language? robin51@dodo.com.au (Robin Vowels) (2022-03-07)
Re: How do you create a grammar for a multi-language language? DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2022-03-07)
Re: How do you create a grammar for a multi-language language? gah4@u.washington.edu (gah4) (2022-03-06)
| List of all articles for this month |

From: gah4 <gah4@u.washington.edu>
Newsgroups: comp.compilers
Date: Sun, 6 Mar 2022 14:36:01 -0800 (PST)
Organization: Compilers Central
References: 22-03-004 22-03-006 22-03-010
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="72642"; mail-complaints-to="abuse@iecc.com"
Keywords: parse, design
Posted-Date: 06 Mar 2022 18:22:54 EST
In-Reply-To: 22-03-010

On Sunday, March 6, 2022 at 9:06:34 AM UTC-8, Christopher F Clark wrote:


(snip)


> However, you are actually solving a "simpler" problem. And, the
> standard approach to that is to embed the second language as a
> "string" in the outer language. Many languages (and their
> compilers/interpreters) do that. That's exactly what your XSLT case
> does. The XPATH code is simply a string in the XSLT language, and the
> XSLT language doesn't attempt to parse it. It simply hands the code
> off to an XPATH parser when in knows the string is XPATH code.


That works when the outer language is parsed first.


For PHP, and I believe the C preprocessor, the inner language is parsed
first, so the parser has to ignore everything, including quoting, in
the outer language.


I don't believe I ever tried preprocessor statements inside C string
constants, but as far as I know, it works.


One has to be careful to avoid ambiguities between the two,
or are created with the combination of the two languages.
[PHP effectively treats material between ?> and <?php as an instruction
to print the material as if it were a quoted string.


C says that the input is tokenized before it does the preprocessor
phase, so it does not look inside quoted strings. The # and ##
preprocessor operators allow some preprocessor time creation of quoted
strings. -John]



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.