Typed and unambiguous pattern matching on strings using regular expressions

Claus Brabrand, Jakob G. Thomsen

Publikation: Konference artikel i Proceeding eller bog/rapport kapitelKonferencebidrag i proceedingsForskningpeer review

Abstract

We show how to achieve typed and unambiguous declarative
pattern matching on strings using regular expressions
extended with a simple recording operator.

We give a characterization of ambiguity of regular expressions
that leads to a sound and complete static analysis. The
analysis is capable of pinpointing all ambiguities in terms of
the structure of the regular expression and report shortest
ambiguous strings. We also show how pattern matching can
be integrated into statically typed programming languages
for deconstructing strings and reproducing typed and structured
values.

We validate our approach by giving a full implementation
of the approach presented in this paper. The resulting tool,
reg-exp-rec, adds typed and unambiguous pattern matching
to Java in a stand-alone and non-intrusive manner. We
evaluate the approach using several realistic examples.
OriginalsprogEngelsk
TitelProceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Antal sider12
ForlagAssociation for Computing Machinery
Publikationsdato2010
Sider243-254
ISBN (Trykt)978-1-4503-0132-9
StatusUdgivet - 2010
BegivenhedInternational Conference on Principles and Practice of Declarative Programming (PPDP 2010) - Hagenberg, Østrig
Varighed: 26 jul. 201028 jul. 2010
Konferencens nummer: 12th
http://www.risc.jku.at/conferences/ppdp2010/

Konference

KonferenceInternational Conference on Principles and Practice of Declarative Programming (PPDP 2010)
Nummer12th
Land/OmrådeØstrig
ByHagenberg
Periode26/07/201028/07/2010
Internetadresse

Emneord

  • Typed pattern matching
  • Regular expressions
  • Ambiguity analysis
  • Static analysis
  • Statically typed languages

Fingeraftryk

Dyk ned i forskningsemnerne om 'Typed and unambiguous pattern matching on strings using regular expressions'. Sammen danner de et unikt fingeraftryk.

Citationsformater