Obix programming language documentation

Christian Neumanns


Table of Contents

Obix programming language manual
Preface
What is Obix?
About this manual
Why Obix?
I. Fundamental concepts
1. Root software elements
Type
Object
Factory
Service
Summary
2. Source code
Source code files
Libraries
3. Simple example
II. Language basics
4. Syntax
Case sensitivity
Identifiers
Simple identifier
Prefixed identifier
Comments
Single-line comment
Multi-line comment
Line continuation
Literals
String literal
Integer literal
Yes_no literal
Character literal
Void literal
5. Root software elements (RSEs)
Type
Factory
Service
6. RSE features
Attribute
Command
Creator
Event
7. Scripts
Introduction to scripts
Command script
Attribute get script
Attribute set script
Check scripts
attribute_check script
Attribute check script
Command in_check script
Input argument check script
Command out_check script
Output argument check script
Default scripts
Attribute default script
Input argument default script
test script
8. Script instructions
Assignments
Variable declaration instruction
Constant declaration instruction
Assignment instruction
Assignment tail
Script execution
Object command execution instruction
Script execution instruction
Script execution tail
Flow control
if then else instruction
case type of instruction
exit script instruction
Loops
repeat while instruction
repeat for each instruction
repeat from to instruction
repeat times instruction
repeat forever instruction
repeat tail
exit repeat instruction
next repeat instruction
Events
generate event instruction
on event instruction
stop event handler instruction
Error handling
check instruction
check script instruction
error instruction
condition
error info
Testing
test instruction
verify instruction
verify error instruction
Embedded Java source code
java instruction
9. Expressions and operators
III. Advanced concepts
10. Embedded Java source code
11. Enumerated type
12. Void values
13. Runtime error handling
Introduction
Program error
Resource error
User input error
See also
14. Object immutability
15. Type inheritance
16. Static typing
17. Contract programming
18. Feature redefinition
19. Generic types
20. Source code templates
21. Testing
Obix's Extended Backus-Naur Form (EBNF)
1. Introduction
2. EBNF symbols used in this document
3. Obix's EBNF
Obix programming language tutorial
1. Preface
2. First example: "Hello world!"
3. Edit - Compile - Run
4. A bank account
5. Does it work?
6. More reliable code, please!
7. Don't reinvent! Use what exists in Java!