0.1.4. Repeat/While loop construct
0.1.5. Save and Restore operators
0.1.10.Bug Fixed in release 2.1 build 231
2.1. Tabulating a function: Unimal loops and built-in math
2.2. Parameters sharing among languages: Export statement
2.3. Software distribution: If statement
2.5. Highlights of other Unimal language features
2.6. Publishing the indices of array entries to a header file
2.6.1. A useful design pattern
2.6.2. Export Push/Pop and string expressions
2.7. Toward truly reusable macros: inspecting properties of the arguments
3.9. Error reporting: Unimal.err
4. Unimal language reference guide
4.3. Macro parameters (compile-time variables)
4.7. Target language interface
4.8.4. Bitwise logic expressions
4.8.5.3.Logical AND && and OR || expressions
4.11.3.1. Name-to-string conversion
4.11.3.2. Substring extraction uSubstr
4.11.3.4. Simplified Concatenation
4.11.3.5. Splitting a string uSplit
4.12.14. Expand (non-recursive)
4.12.15. Expand (possibly recursive)
4.13. A useful shorthand for a list of arguments
4.14. Special macro parameters
5. Error Detection and Recovery
5.1. Error logging mechanism in Unimal
5.2. Unimal error messages reference
5.2.1. Default format of an error message
5.2.2. Error message format mimicry
5.2.3. F type: Fatal file errors
5.2.3.3.Errors 0104, 0105 (output file), 0106 (input file)
5.2.4. Special F type error (Usage syntax)
5.2.6.1.Error 2000 (The file has an unbalanced beginning or end of a block)
5.2.6.2.Error 2001 (General syntax error)
Special case: syntax errors in macro expansions
5.2.6.3.Error 2002 (Macro redefinition)
5.2.6.4.Error 2004 (Missing actual argument)
5.2.6.5.Errors 2005, 2006, 2007 (Unmatched block operators)
5.2.6.6.Error 2009 (Bad macro reference)
5.2.6.7.Error 2010 (Unexpected type)
5.2.6.8.Error 2011 (undefined parameter)
5.2.6.9.Error 2012 (formatting in composite names or target language interface)
5.2.6.10. Error 2013 (expected macro parameter)
5.2.6.11. Error 2014 (expected a numeric)
5.2.6.12. Error 2015 (undefined string expression)
5.2.6.13. Error 2016 (invalid string expression)
5.2.6.14. Error 2017 (wrong number of arguments to a function)
5.2.6.15. Error 2018 (literal number too large)
5.2.6.16. Error 2019 (string not terminated)
5.2.6.17. Error 2020 (Nested macro definition)
5.2.6.18. Error 2021 (Unmatched While)
5.2.6.19. Error 2022 (Recursive macro expansion)
5.2.8.1.Errors 3500, 3501, 3502 (Arithmetic overflows)
5.2.8.2.Error 3503 (Divide by zero)
5.2.8.3.Error 3504 (Non-positive divisor in remainder operation
5.2.8.4.Errors 3510, 3511, 3512, 3513 (math functions errors)
6.1. (No) implementation limits