Adriaan van Os via fpc-pascal wrote:
Section 3.2.4 of the FreePascal Language Reference defines <string-type>
string-type = "STRING" [ "[" unsigned-integer "]" ] | "TYPE" (
"STRING" | "ansistring" ) "(" unsigned-integer ")" .
Ansistring is shown in the syntax diagram in boldface and thus as a
keyword. But it is not listed as either a modifier or a reserved word in
section 1.3. I suggest instead to define <ansistring> as a type-identifier.
string-type = "STRING" [ "[" unsigned-integer "]" ] | "TYPE" (
"STRING" | ansistring ) "(" unsigned-integer ")" .
ansistring = type-identifier .
For other reasons, the indicated rule for <string-type> is not correct, as the size specifier and
the codepage specifier can both be a <constant-identifier>. So, with that I think we get
string-type = "STRING" [ "[" ( unsigned-integer | constant-identifier ) "]" ] | "TYPE" ( "STRING"
| ansistring ) "(" ( unsigned-integer | constant-identifier ) ")" .
Regards,
Adriaan van Os
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal