You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Steve Lawrence (JIRA)" <ji...@apache.org> on 2019/06/27 15:47:00 UTC

[jira] [Assigned] (DAFFODIL-1493) %ES; delimiter doesn't work right

     [ https://issues.apache.org/jira/browse/DAFFODIL-1493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Lawrence reassigned DAFFODIL-1493:
----------------------------------------

    Assignee: Steve Lawrence

> %ES; delimiter doesn't work right
> ---------------------------------
>
>                 Key: DAFFODIL-1493
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1493
>             Project: Daffodil
>          Issue Type: Bug
>          Components: Back End, General
>            Reporter: Steve Lawrence
>            Assignee: Steve Lawrence
>            Priority: Major
>             Fix For: 2.4.0
>
>
> See the linked review comments for more details. The jist of it is that when an %ES; is in a delimiter, the associated DFA is not getting compiled correctly, and it actually will match a literal %ES;. There is code in DelimiterParser.scala that inefficiently looks for ES when a match isn't found, and accepts it as an empty match. Instead, the DFA scanner should be returning the %ES; as a successful match in the parse results, and then DelimiterParser.scala can use the same logic to determine which DFA matched. This would allow us to get rid of the hasES functions and be more efficient.
> Note that some things may be tricky because when scanning for a delimiter, we have to ignore the %ES;, since they'll match anything. We may need new iterators that ignore these.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)