Abstract
Brzozowski introduced the notion of derivatives for regular
expressions. They can be used for a very simple regular expression
matching algorithm. Sulzmann and Lu cleverly extended this
algorithm in order to deal with POSIX matching, which is the
underlying disambiguation strategy for regular expressions needed in
lexers. Their algorithm generates POSIX values which encode the
information of how a regular expression matches a
string---that is, which part of the string is matched by which part
of the regular expression. In this paper we give our inductive
definition of what a POSIX value is and show that Sulzmann and Lu's
algorithm always generates such a value. We also show that our inductive
definition of a POSIX value is equivalent to an alternative
definition by Okui and Suzuki which identifies POSIX values as least
elements according to an ordering of values.
expressions. They can be used for a very simple regular expression
matching algorithm. Sulzmann and Lu cleverly extended this
algorithm in order to deal with POSIX matching, which is the
underlying disambiguation strategy for regular expressions needed in
lexers. Their algorithm generates POSIX values which encode the
information of how a regular expression matches a
string---that is, which part of the string is matched by which part
of the regular expression. In this paper we give our inductive
definition of what a POSIX value is and show that Sulzmann and Lu's
algorithm always generates such a value. We also show that our inductive
definition of a POSIX value is equivalent to an alternative
definition by Okui and Suzuki which identifies POSIX values as least
elements according to an ordering of values.
Original language | English |
---|---|
Article number | 24 |
Journal | JOURNAL OF AUTOMATED REASONING |
Volume | 67 |
Issue number | 3 |
Early online date | 8 Jul 2023 |
DOIs | |
Publication status | Published - Sept 2023 |