# New Ticket Created by "gabriele renzi" # Please include the string: [perl #61086] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=61086 >
the default grammar for a newly generated language shell contains the
following lines:
rule integer { \d+ {*} }
rule quote {
[ \' <string_literal: '\'' > \' | \" <string_literal: '"' > \" ]
{*}
}
since these are defined as "rule" they skip whitespace, so the second
declaration actually forces parsing of literals like
" "
into
""
The attached patch modifies mk_language_shell to generate a grammar
that declares these as tokens and adds an additional test to the
default t/00-sanity.t generated for a new lanaguage shell that takes
this into account.
All parrot tests still pass, cause there is nothing testing
mk_language_shell output, AFAICT.
The documentation in languages/squaak/doc may be updated to reflect
the change but it seems the only direct reference is
languages/squaak/doc/tutorial_episode_3.pod:Rename the rule C<integer>
as C<integer_constant>, and C<quote>...
whereas it may say "token" but I guess it's pretty fine even like this.
Parrot svn at revision 33548.
token_for_literal.patch
Description: Binary data
