The Comma Programming Language

Stephen Wilson

This document is an initial DRAFT.

This documentation is distributed under the MIT license.

Abstract

This is a prolusion. It will evolve into a complete specification of the Comma programming language.


Table of Contents

1. General
2. Lexical Structure
2.1. The Standard Character Set
2.2. The Maximal Match Rule
2.3. Notational Conventions
2.4. Line Terminators
2.5. Comments
2.6. Whitespace
2.7. Separators
2.8. Identifiers
2.9. Reserved Words
2.10. Operator Symbols
2.11. Literals
2.11.1. Integer Literals
2.11.2. Floating-point Literals
2.11.3. String Literals
2.11.4. Character Literals
3. Names and Expressions
3.1. Names
3.1.1. Attributes
3.1.2. Indexed Components
3.1.3. Selected Components
3.2. Function Calls
3.3. Expressions
4. Types, Subtypes, and Declarations
4.1. Type Declarations
4.2. Subtype Declarations
4.3. Scalar Types
4.3.1. Enumeration Types
4.3.2. Integer Types
4.4. Array Types
4.5. Record Types
5. Domains and Signatures
5.1. Inj and Prj
6. Statements
6.1. Block Statements
6.2. If Statements
6.3. Iteration Statements
6.4. Assignment Statements
A. MIT License
Index

List of Tables

2.1. Standard character set
2.2. Reserved Words
2.3. Operators

List of Examples

2.1. Some valid Comma identifiers:
2.2. Examples of character literals:
6.1. Examples of if statements:
6.2. Examples of iteration statements: