- changed status to open
- removed comment
interface.ccl parser reports error for extra spaces after in function alias block
E.g., if there are extra spaces after "LANGUAGE C" in the function alias block, the parser will report an missing "Language specification" error instead of discarding the extra spaces.
PROVIDES FUNCTION MoLRegisterConstrainedGroup WITH \ MoL_RegisterConstrainedGroup \ LANGUAGE C
`
Keyword: CST Keyword: parser
Comments (7)
-
-
reporter - removed comment
tried this and couple hacks myself, but still not working.
-
- removed comment
Right. The pattern should end in
LANGUAGE\s+(.*\S)\s*/i
(which is still not quite right, because no space in front of LANGUAGE is required).
-
- changed status to open
- removed comment
-
- changed status to open
- removed comment
This is the patch I am suggesting:
Index: interface_parser.pl
--- interface_parser.pl (revision 4788) +++ interface_parser.pl (working copy) @@ -746,7 +746,7 @@ $funcname = $1; $provided_by = $2;
- if($provided_by =~ m/(.*)\s*LANGUAGE\s*(.+)/i) + if($provided_by =~ m/(.*)\s* LANGUAGE\s+(.*\S)\s*/i) { $provided_by = $1; $provided_by_language = "\U$2";
-
reporter - removed comment
It works for me. Thanks !
-
- changed status to resolved
- removed comment
Corrected and applied. The regexp is now
if($provided_by =~ m/^(.*)\s+LANGUAGE\s+(.*\S)\s*$/i)
- Log in to comment
Please test this patch:
Index: interface_parser.pl
--- interface_parser.pl (revision 4788) +++ interface_parser.pl (working copy) @@ -746,7 +746,7 @@ $funcname = $1; $provided_by = $2;
- if($provided_by =~ m/(.*)\s*LANGUAGE\s*(.+)/i) + if($provided_by =~ m/(.*)\s*LANGUAGE\s*(.+)\s*/i) { $provided_by = $1; $provided_by_language = "\U$2";