François PERRAD wrote:
just few comments about pdd19 : 1) Directive .namespace .namespace <NL> is currently valid, and I understand its behavior as : back to the default
It's in the docs for IMCC (docs/imcc/calling_conventions.pod), but not in the calling conventions or namespaces PDDs. It currently does nothing. And, something more blatantly obvious like:
.namespace [ "" ] seems preferable.
2) Directive .const with PMC .const .String str = "text" the form .type is currently required. Have you plan to deprecated it in favour of 'type' ?
Ideally, yes.
3) Identifiers What is the meaning of 'letter' in the identifier definition ? - only ASCII 7bit letter, ie [A-Za-z]
Yes.
- or other unicode letter like ç
No. For those you need a string quoted name (which subroutines, globals, lexicals, etc. allow).
What is the incidence of the following note ? The use of :: in identifiers is deprecated
That's in bareword identifiers. In docs/imcc/syntax.pod (which was a significant source for the first draft of the PIR PDD), identifiers allowed '::' but not any other separators common to other HLLs. Since bareword identifiers are only used internally, it's not really useful to support various HLL separators.
Now, some behaviors not correct against pdd19 : 1) Comments between 2 .param sub 'main' .param pmc arg1 :optional # this comment is not ignored and causes some troubles .param pmc arg2 :optional print "ok\n" end 2) Directive .const with empty string sub 'main' .const .String empty = '' print empty print "ok\n" end
Do you mean "PDD 19 doesn't allow this but should"? Or "PDD 19 allows this but it's not currently implemented"?
Allison