Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #2920
| From | Hans-Peter Diettrich <DrDiettrich1@netscape.net> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: How do you create a grammar for a multi-language language? |
| Date | 2022-03-07 05:08 +0100 |
| Organization | Compilers Central |
| Message-ID | <22-03-015@comp.compilers> (permalink) |
| References | <22-03-004@comp.compilers> <22-03-009@comp.compilers> |
On 3/6/22 12:23 PM, Hans-Peter Diettrich wrote: > I don't think that was what he was asking about. The question is too unspecific for me. A (traditional) grammar covers the parser part, while the lexer is specified differently. Languages based on the same lexer can be merged into one grammar, no problem so far. But if the second language shall apply to a single token (string...) of the primary language then both languages are independent and can not share a single grammar. Like a document can contain parts of several natural languages, where each language applies only to specific parts of the documents and is subject to special lexer rules (RTL/LTR reading...). In C/C++ and its preprocessor we have a special construct where the preprocessor tokens are refined/extended by the C/C++ lexer. And there were discussions whether the preprocessor should look into string literals (Siemens?), or whether the preprocessor can generate C comments (Microsoft). A separate preprocessor run at least allows for the latter, as the preprocessed source code is lexed again and can build tokens differently from the tokens in the original source code. My conclusion: A single (formal) grammar can not contain multiple languages. Unless you specify that e.g. statements and expressions in a programming language shall be considered subject to different languages. Such nitpicking is not worth further thoughts :-( DoDi
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
How do you create a grammar for a multi-language language? Roger L Costello <costello@mitre.org> - 2022-03-03 13:57 +0000
Re: How do you create a grammar for a multi-language language? Roger L Costello <costello@mitre.org> - 2022-03-05 22:29 +0000
Re: How do you create a grammar for a multi-language language? "Kartik Agaram" <ak@akkartik.com> - 2022-03-05 16:55 -0800
RE: How do you create a grammar for a multi-language language? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-03-06 15:37 +0200
Re: How do you create a grammar for a multi-language language? gah4 <gah4@u.washington.edu> - 2022-03-06 14:36 -0800
Re: How do you create a grammar for a multi-language language? gah4 <gah4@u.washington.edu> - 2022-03-06 16:50 -0800
RE: How do you create a grammar for a multi-language language? Roger L Costello <costello@mitre.org> - 2022-03-06 23:32 +0000
Re: How do you create a grammar for a multi-language language? gah4 <gah4@u.washington.edu> - 2022-03-05 21:10 -0800
Re: How do you create a grammar for a multi-language language? "Robin Vowels" <robin51@dodo.com.au> - 2022-03-07 13:39 +1100
Re: How do you create a grammar for a multi-language language? Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2022-03-06 12:23 +0100
Re: How do you create a grammar for a multi-language language? Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2022-03-07 05:08 +0100
Re: How do you create a grammar for a multi-language language? gah4 <gah4@u.washington.edu> - 2022-03-06 21:22 -0800
Keywords and Reserved Words Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-03-08 21:46 +0200
Re: Keywords and Reserved Words gah4 <gah4@u.washington.edu> - 2022-03-09 00:31 -0800
Re: Keywords and Reserved Words "Robin Vowels" <robin51@dodo.com.au> - 2022-03-10 10:00 +1100
Re: Keywords and Reserved Words "Robin Vowels" <robin51@dodo.com.au> - 2022-03-10 09:55 +1100
Re: Keywords and Reserved Words in Fortran Thomas Koenig <tkoenig@netcologne.de> - 2022-03-10 07:07 +0000
Re: Keywords and Reserved Words "Robin Vowels" <robin51@dodo.com.au> - 2022-03-10 11:59 +1100
csiph-web