| Related articles |
|---|
| From: | "Ev. Drikos" <drikosev@gmail.com> |
| Newsgroups: | comp.compilers |
| Date: | Fri, 22 Jul 2022 12:29:40 +0300 |
| Organization: | Aioe.org NNTP Server |
| References: | 22-07-011 22-07-030 22-07-036 22-07-042 |
| Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="78604"; mail-complaints-to="abuse@iecc.com" |
| Keywords: | lex, design |
| Posted-Date: | 22 Jul 2022 13:01:47 EDT |
| Content-Language: | en-US |
On 21/07/2022 13:41, Ev. Drikos wrote:
> ...
>
> [I don't see how this grammar will allow a comment before the statement.
> -John]
The where-used list of the separator contains four regular rules. Which
means I've added them explicitly, as shown at the end of the message.
What I suspect may be restrictive is that the lookahead operator accepts
only the next token, simply one letter in a scannerless grammar. Yet, in
SQL the (Unicode) delimited identifier doesn't end ie with a repeated
symbol as the identifier body of a regular identifier.
Here is the grammar for further inspection and error report:
https://gist.github.com/drikosev/3104c3cb79b0b4d8f41da6162f4c65d3
Regards,
Ev. Drikos
-----------------------------------------------------------------------
<direct SQL statement> ::=
[ <separator> ] <directly executable statement> <semicolon>
<binary string literal>::= X<quote>[{<hexit><hexit>}...]<quote>
[{<separator><quote>[{<hexit><hexit>}...]<quote>}...]
<national character string literal> ::= (too long) ...
<Unicode character string literal> ::= (too long) ...
Return to the
comp.compilers page.
Search the
comp.compilers archives again.