gazprea Logo
  • Gazprea

Language Specification

  • 1. Keywords
  • 2. Identifiers
  • 3. Namespaces
  • 4. Comments
  • 5. Declarations
    • 5.1. Special cases
  • 6. Constant Expressions
    • 6.1. Rules for Constant Expressions
    • 6.2. Constant Expressions with Aggregate Types
  • 7. Type Qualifiers
    • 7.1. Const
    • 7.2. Var
    • 7.3. Type Inference Using Qualifiers
  • 8. Types
    • 8.1. Boolean
      • 8.1.1. Declaration
      • 8.1.2. Literals
      • 8.1.3. Operations
      • 8.1.4. Type Casting and Type Promotion
    • 8.2. Character
      • 8.2.1. Declaration
      • 8.2.2. Literals and Escape Sequences
      • 8.2.3. Operations
      • 8.2.4. Type Casting and Type Promotion
    • 8.3. Integer
      • 8.3.1. Declaration
      • 8.3.2. Literals
      • 8.3.3. Operations
      • 8.3.4. Type Casting and Type Promotion
    • 8.4. Real
      • 8.4.1. Declaration
      • 8.4.2. Literals
      • 8.4.3. Operations
      • 8.4.4. Type Casting and Type Promotion
    • 8.5. Tuples
      • 8.5.1. Declaration
      • 8.5.2. Access
      • 8.5.3. Literals
      • 8.5.4. Operations
      • 8.5.5. Unpacking
      • 8.5.6. Type Casting and Type Promotion
    • 8.6. Structs
      • 8.6.1. Declaration
      • 8.6.2. Type Aliasing
      • 8.6.3. Access
      • 8.6.4. Literals
      • 8.6.5. Operations
      • 8.6.6. Type Casting and Type Promotion
      • 8.6.7. Struct Namespacing
    • 8.7. Arrays
      • 8.7.1. Declaration
      • 8.7.2. Construction
      • 8.7.3. Operations
      • 8.7.4. Array Slices
      • 8.7.5. Type Casting and Type Promotion
    • 8.8. Vectors
      • 8.8.1. Declaration
      • 8.8.2. Operations
    • 8.9. String
      • 8.9.1. Declaration
      • 8.9.2. Literals
      • 8.9.3. Operations
      • 8.9.4. Type Casting and Type Promotion
    • 8.10. Matrices
      • 8.10.1. Declaration
      • 8.10.2. Construction
      • 8.10.3. Operations
      • 8.10.4. Type Casting and Type Promotion
  • 9. Type Inference
  • 10. Type Casting
    • 10.1. Scalar to Scalar
    • 10.2. Scalar to Array
    • 10.3. Array to Array
    • 10.4. Multi-dimensional Arrays
    • 10.5. Tuple to Tuple
  • 11. Type Promotion
    • 11.1. Scalars
    • 11.2. Scalar to Array
    • 11.3. Tuple to Tuple
    • 11.4. Character Array to/from String
  • 12. Typealias
  • 13. Streams
    • 13.1. Output Stream
      • 13.1.1. Output Format
    • 13.2. Input Stream
      • 13.2.1. Input Semantics
      • 13.2.2. Error Handling
  • 14. Expressions
    • 14.1. Table of Operator precedence
    • 14.2. Generators
    • 14.3. Domain Expressions
  • 15. Statements
    • 15.1. Assignment Statements
    • 15.2. Block Statements
    • 15.3. If/Else Statements
    • 15.4. Loop
      • 15.4.1. Infinite Loop
      • 15.4.2. Predicated Loop
      • 15.4.3. Iterator Loop
    • 15.5. Break
    • 15.6. Continue
    • 15.7. Return
    • 15.8. Stream Statements
  • 16. Functions
    • 16.1. Syntax
    • 16.2. Function Prototypes
    • 16.3. Array and Matrix Parameters and Returns
    • 16.4. Function Namespacing
  • 17. Procedures
    • 17.1. Syntax
    • 17.2. Procedure Declarations
    • 17.3. Main
    • 17.4. Type Promotion of Arguments
    • 17.5. Aliasing
    • 17.6. Array Parameters and Returns
    • 17.7. Procedure Namespacing
  • 18. Globals
    • 18.1. Variable Declarations
  • 19. Built-In Functions
    • 19.1. Length
    • 19.2. Shape
    • 19.3. Reverse
    • 19.4. Format
    • 19.5. Stream State

Implementation

  • Backend
    • Memory Management
    • Runtime Libraries
  • Compiler Implementation — Part 1
  • Compiler Implementation — Part 2
  • Errors
    • Syntax Errors
    • Compile-time Errors
    • Run-time Errors
    • More Examples
    • How to Write an Error Test Case
    • How to make the Tester Happy
gazprea
  • Search


© Copyright 2025, cmput415.

Built with Sphinx using a theme provided by Read the Docs.