Book contents
- Frontmatter
- Contents
- Preface
- Part I Formal Background
- Part II From Theory to Practice
- 7 The C(M) language
- 8 C(M) Implementation of Finite-State Devices
- 9 The Aho–Corasick Algorithm
- 10 The Minimal Deterministic Finite-State Automaton for a Finite Language
- 11 Constructing Finite-State Devices for Text Rewriting
- References
- Index
7 - The C(M) language
from Part II - From Theory to Practice
Published online by Cambridge University Press: 29 July 2019
- Frontmatter
- Contents
- Preface
- Part I Formal Background
- Part II From Theory to Practice
- 7 The C(M) language
- 8 C(M) Implementation of Finite-State Devices
- 9 The Aho–Corasick Algorithm
- 10 The Minimal Deterministic Finite-State Automaton for a Finite Language
- 11 Constructing Finite-State Devices for Text Rewriting
- References
- Index
Summary
In this chapter we introduce the C(M) language, a new programming language. C(M) statements and expressions closely resemble the notation commonly used for the presentation of formal constructions in a Tarskian style set theoretical language. The usual set theoretic objects such as sets, functions, relations, tuples etc. are naturally integrated in the language. In contrast to imperative languages such as C or Java, C(M) is a functional declarative programming language. C(M) has many similarities with Haskell but makes use of the standard mathematical notation like SETL. The C(M) compiler translates a well-formed C(M) program into efficient C code, which can be executed after compilation. Since it is easy to read C(M) programs, a pseudo-code description becomes obsolete.
- Type
- Chapter
- Information
- Finite-State TechniquesAutomata, Transducers and Bimachines, pp. 161 - 176Publisher: Cambridge University PressPrint publication year: 2019