At 17:18 02/11/2007 -0400, you wrote:
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
I think it's a bug.
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
I think it's bug too, I don't understand the limitation : everything except
empty string
Francois
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