SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
The “Oslo” Modeling Language (commonly referred to as "M") is a language for defining domain models and languages (the latter are often referred to as textual DSLs). "M" was created to allow developers to efficiently capture their intention in a form that is natural to author but also efficient to store and query using off-the-shelf database technology.
This book comes from the original creators of "M"--David Langworthy, Brad Lovering, and Don Box--and is the definitive reference to the language. If you are looking for a compact textual notation for writing down information or schematizing structured and unstructured data, this book is for you.
This book is the authoritative specification of the "M" language (draft) and describes the syntax and underlying model of the language. Highlights of this book include:
• An Introduction to domain modeling constructs
• An Introduction to constructs for building textual DSLs
• Complete syntax for the language
• Definition of the "M" type system and data model
• Glossary of terms
Preface xi
PART I: “OSLO” MODELING LANGUAGE SPECIFICATION 1
Chapter 1 Introduction to “M” 3
Chapter 2 Lexical Structure 29
Chapter 3 Types 55
Chapter 4 Computed and Stored Values 79
Chapter 5 Expressions 81
Chapter 6 Module 101
PART II: MGRAMMAR LANGUAGE SPECIFICATION 111
Chapter 7 Introduction to MGrammar Language 113
Chapter 8 Lexical Structure 127
Chapter 9 Text Pattern Expressions 149
Chapter 10 Productions 155
Chapter 11 Rules 167
Chapter 12 Languages 173
Chapter 13 Modules 175
Chapter 14 Attributes 183
Glossary 185