STR-693: sglri keeps apply-node within case-insensitive constructors
When a case-insensitive constructor is defined like this:
=====
[eric@~/workspace/dev]$ cat Main.sdf
module Main
exports
context-free start-symbols Boolcontext-free syntax
‘true’ -> Bool {cons(“True”)}lexical syntax
[
] -> LAYOUTcontext-free restrictions
LAYOUT? -/- [
]
====A parsing of the string “true” is expected to result in:
True();But the current result is:
Submitted on 29 January 2007 at 21:48
=====
[eric@~/workspace/dev]$ sglri -i exp -p Main.tbl -s Bool | pp-aterm
True(
appl(
prod(
[ char-class([84, 116])
, char-class([82, 114])
, char-class([85, 117])
, char-class([69, 101])
]
, cilit(“true”)
, no-attrs()
)
, [116, 114, 117, 101]
)
)
====
The attributes are useful, but unwanted after implosion?
Issue Log
STR-693, martin:
Thanks for the example :) We’ll take a look.
STR-693, martin:
Ok, most of the issues have been fixed now with revision 16601.You might find more bugs, since ignoring literals is part of several tools that all break with the new cilit. sdf2rtg and sdf2parenthesize have been fixed now, but there might be more tools that have problems.
Log in to post comments