No description
- Odin 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .vscode | ||
| codegen | ||
| .gitignore | ||
| generated.odin | ||
| improvements.md | ||
| interpret.odin | ||
| main.odin | ||
| memory.odin | ||
| operators.odin | ||
| output_test.odin | ||
| parser.odin | ||
| README.md | ||
| temple-odin.sublime-project | ||
| token.odin | ||
| tokenizer.odin | ||
| tokenizer_test.odin | ||
| types.odin | ||
Temple of Odin
ToO is a template language that models itself to work well with Odin types and resembles Odin syntax.
Syntax:
You can find syntax examples in output_test.odin
Current Language Features (Sort of ordered by importance to me):
- Template variables
- Arithmatic operators (including
>,<,>=, and<=):- Integers
- Floats
- Arrays
- Matrices
- Complex numbers
- Quaternians
- Strings
- Strings (null terminated)
- Strings (utf16)
- Equality operators (
==and!=):- Integers
- Floats
- Pointers
- Multi-pointers
- Runes
- Bit fields
- Bit sets
- Enums
- Structs
- Unions
- Type IDs
- Booleans
- Strings
- Strings (null terminated)
- Strings (utf16)
- Arrays
- Enum arrays
- Dynamic arrays
- Maps
- Complex numbers
- Matrices
- Quaternians
- Array indexing
- Slice indexing
- Dynamic array indexing
- Range slicing
[start:end] - Map lookups
- Logical operators:
&&||&|<<and>>~
- Variables
- Declare with type
- Assignments
- Declare with assignment and implicit type (
:=) +=-=*=/=
if,if else, andelsestatementsforloops over:..<and..=ranges- Arrays
- Slices
- Dynamic arrays
- Enum arrays
- Enum types
- Strings
- Strings (null terminated)
- Strings (utf16)
- Maps
- Bit sets
inandnot_in:- Bit sets
- Maps
- Format specifiers
or_else- Unwrap
Maybe($T)with?operator - Builtin procs:
lenandcap- String manipulation
- Levenshtein distance
- Sorting
- Function callback
- Rename fields with struct tags