Titania Programming Language Titania is a programming language inspired by Oberon-07, a language designed by Niklaus Wirth. It is created primarily as a teaching language to facilitate compiler development education. Name Meaning Titania is named after the wife of Oberon, the Fairy King, from Shakespeare's A Midsummer Night's Dream. The name is currently a codename and may not be final. Grammar Overview The language features a modular programming style with the fundamental structure: Key Grammar Constructs importlist: List of import declarations separated by commas. declsequence: Sequence of declarations, including constants, types, variables, and procedures. stmtsequence: Sequence of statements inside the module. Declarations Constants: constdecl = ident "=" constexpr Types: typedecl = ident "=" structtype Variables: vardecl = identlist ":" type Procedures: procdecl = "proc" ident [formalparameters] ";" procbody Expressions and Statements Expressions handle operations like addition, multiplication, relational operations, etc. Statements include assignment, procedure calls, control structures like if, case, while, repeat, and for loops. Designators and Selectors Designators allow qualified identifiers with selectors like field access (.), indexing ([]), pointer dereferencing (^), and procedure selectors. Key Operators Keywords Built-in Procedures (subject to expansion) abs(x): absolute value lsh(x, y): logical shift left ash(x, y): arithmetic shift right ror(x, y): rotate right chr(i): int to char conversion ord(c): char to int conversion inc(x), inc(x,y): increase value dec(x), dec(x,y): decrease value incl(x,y): include y in set x excl(x,y): exclude y from set x odd(x): tests if x is odd (x % 2 ≠ 0) floor(x), ceil(x): rounding for real numbers assert(cond): assert failure if condition false new(ptr), delete(ptr): memory management addr(x): address of x sizeof(x), alignof(x): size and alignment of type of x copy(dst, src, n): memory copy of n bytes print(...), println(...): variadic print functions len(x): length of an array Repository Information Owner: gingerBill Repository: titania Status: Public repository Stars: 20 Forks: 0 License: 0BSD license Languages: 100% Odin language (likely used for tooling or compiler) Commits: 21 commits (as of last update) Additional Details The repository includes files like README.md, LICENCE.md, Titania.sublime-syntax, and sample .titania files. No releases or packages published yet. The language aims to be used for teaching compiler development based on Oberon concepts. --- This summary provides an overview of the Titania programming language, its design inspiration, grammar, keywords, built-in functions, and repository details for easier understanding without needing the original HTML content.