1. The language
Project source code is available at https://github.com/GaijinEntertainment/quirrel
- 1.1. Lexical Structure
- 1.2. Values and Data types
- 1.3. Statements
- 1.3.1. Block
- 1.3.2. Control Flow Statements
- 1.3.3. Loops
- 1.3.4. break
- 1.3.5. continue
- 1.3.6. return
- 1.3.7. yield
- 1.3.8. Local variables declaration ( local )
- 1.3.9. Named bindings declaration ( let )
- 1.3.10. Function declaration
- 1.3.11. Class declaration
- 1.3.12. try/catch
- 1.3.13. throw
- 1.3.14. const
- 1.3.15. enum
- 1.3.16. Expression statement
- 1.4. Expressions
- 1.4.1. Assignment
- 1.4.2. Operators
- 1.4.2.1. ?: Operator
- 1.4.2.2. ?? Null-coalescing operator
- 1.4.2.3. ?. and ?[] - Null-propagation operators
- 1.4.2.4. .$ and ?.$ - Type methods access operator
- 1.4.2.5. Arithmetic
- 1.4.2.6. Relational
- 1.4.2.7. 3 ways compare
- 1.4.2.8. Logical
- 1.4.2.9. in operator, not in operator
- 1.4.2.10. instanceof operator
- 1.4.2.11. typeof operator
- 1.4.2.12. Bitwise Operators
- 1.4.2.13. Operators precedence
- 1.4.3. Table Constructor
- 1.4.4. clone
- 1.4.5. Array contructor
- 1.5. Tables
- 1.6. Arrays
- 1.7. Functions
- 1.8. Classes
- 1.9. Generators
- 1.10. Constants & Enumerations
- 1.11. Destructuring assignment
- 1.12. $ - String interpolation
- 1.13. Threads
- 1.14. Weak References
- 1.15. Metamethods
- 1.16. Built-in Functions
- 1.17. Complier directives
- 1.18. List of Complier directives
- 1.19. Limitations