gazprea Logo
  • Gazprea

Language Specification

  • 1. Keywords
  • 2. Identifiers
  • 3. Namespace
  • 4. Comments
  • 5. Declarations
    • 5.1. Special cases
  • 6. Type Qualifiers
    • 6.1. Const
    • 6.2. Var
    • 6.3. Type Inference Using Qualifiers
  • 7. Types
    • 7.1. Boolean
      • 7.1.1. Declaration
      • 7.1.2. Literals
      • 7.1.3. Operations
      • 7.1.4. Type Casting and Type Promotion
    • 7.2. Character
      • 7.2.1. Declaration
      • 7.2.2. Literals and Escape Sequences
      • 7.2.3. Operations
      • 7.2.4. Type Casting and Type Promotion
    • 7.3. Integer
      • 7.3.1. Declaration
      • 7.3.2. Literals
      • 7.3.3. Operations
      • 7.3.4. Type Casting and Type Promotion
    • 7.4. Real
      • 7.4.1. Declaration
      • 7.4.2. Literals
      • 7.4.3. Operations
      • 7.4.4. Type Casting and Type Promotion
    • 7.5. Tuple
      • 7.5.1. Declaration
      • 7.5.2. Access
      • 7.5.3. Literals
      • 7.5.4. Operations
      • 7.5.5. Type Casting and Type Promotion
    • 7.6. Vectors
      • 7.6.1. Declaration
      • 7.6.2. Construction
      • 7.6.3. Operations
      • 7.6.4. Type Casting and Type Promotion
    • 7.7. String
      • 7.7.1. Declaration
      • 7.7.2. Literals
      • 7.7.3. Operations
      • 7.7.4. Type Casting and Type Promotion
    • 7.8. Matrix
      • 7.8.1. Declaration
      • 7.8.2. Construction
      • 7.8.3. Operations
      • 7.8.4. Type Casting and Type Promotion
  • 8. Type Inference
  • 9. Type Casting
    • 9.1. Scalar to Scalar
    • 9.2. Scalar to Vector/Matrix
    • 9.3. Vector to Vector
    • 9.4. Matrix to Matrix
    • 9.5. Tuple to Tuple
  • 10. Type Promotion
    • 10.1. Scalars
    • 10.2. Scalar to Vector or Matrix
    • 10.3. Vector to Matrix
    • 10.4. Tuple to Tuple
    • 10.5. Character Vector to/from String
  • 11. Typedef
  • 12. Streams
    • 12.1. Output Stream
      • 12.1.1. Output Format
    • 12.2. Input Stream
      • 12.2.1. Input Semantics
      • 12.2.2. Error Handling
  • 13. Expressions
    • 13.1. Table of Operator precedence
    • 13.2. Generators
    • 13.3. Filters
    • 13.4. Domain Expressions
  • 14. Statements
    • 14.1. Assignment Statements
    • 14.2. Block Statements
    • 14.3. If/Else Statements
    • 14.4. Loop
      • 14.4.1. Infinite Loop
      • 14.4.2. Predicated Loop
      • 14.4.3. Iterator Loop
    • 14.5. Break
    • 14.6. Continue
    • 14.7. Return
    • 14.8. Stream Statements
  • 15. Functions
    • 15.1. Syntax
    • 15.2. Function Prototypes
    • 15.3. Vector and Matrix Parameters and Returns
  • 16. Procedures
    • 16.1. Syntax
    • 16.2. Procedure Declarations
    • 16.3. Main
    • 16.4. Type Promotion of Arguments
    • 16.5. Aliasing
    • 16.6. Vector and Matrix Parameters and Returns
  • 17. Globals
  • 18. Built In Functions
    • 18.1. Length
    • 18.2. Rows and Columns
    • 18.3. Reverse
    • 18.4. Format
    • 18.5. Stream State

Implementation

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


© Copyright 2023, cmput415.

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