Delete page 'Section Syntax'
parent
77be188478
commit
ae84ab65b4
@ -1,112 +0,0 @@
|
|||||||
# General Syntax
|
|
||||||
Sections start with a name token that is four letters long, and determines what
|
|
||||||
kind of section it is. It then has a permission token, and then a name which
|
|
||||||
defines the name of the section. There may be more tokens after the name
|
|
||||||
depending on what type of section it is. If the section's information does not
|
|
||||||
fit on one line, it will have an indented block underneath it with its content.
|
|
||||||
|
|
||||||
There are 6 different types of sections that ARF supports:
|
|
||||||
|
|
||||||
- objt: Object Type Definitions
|
|
||||||
- type: Blind Type Definitions
|
|
||||||
- enum: Enums
|
|
||||||
- face: Interfaces
|
|
||||||
- data: Data
|
|
||||||
- func: Functions and Methods
|
|
||||||
|
|
||||||
This page covers syntactical elements of sections in general. For more detailed information, visit the section pages indivitually under the "Sections" section.
|
|
||||||
# Syntax of Different Sections
|
|
||||||
|
|
||||||
## objt
|
|
||||||
|
|
||||||
```
|
|
||||||
objt ro Basic:Obj
|
|
||||||
ro that:Basic
|
|
||||||
ro this:Basic
|
|
||||||
|
|
||||||
objt ro ComplexInit:Obj
|
|
||||||
ro whatever:{Int 3}
|
|
||||||
230984
|
|
||||||
849 394580
|
|
||||||
ro complex0:Bird
|
|
||||||
.that 98
|
|
||||||
.this 2
|
|
||||||
ro complex1:Bird
|
|
||||||
.that 98902
|
|
||||||
.this 235
|
|
||||||
ro basic:Int 87
|
|
||||||
```
|
|
||||||
|
|
||||||
Object section syntax allows for members to be declared underneath it. It must have a type that it inherits from. It should not have anything after the type specifier.
|
|
||||||
|
|
||||||
Currently, object section syntax does not support nested object definitions.
|
|
||||||
|
|
||||||
Each member should start with a permission, then have a name, then a type specifier. After that,
|
|
||||||
they can have an optional initialization value.
|
|
||||||
|
|
||||||
## type
|
|
||||||
|
|
||||||
```
|
|
||||||
type ro Basic:Int
|
|
||||||
|
|
||||||
type ro BasicInit:Int 6
|
|
||||||
|
|
||||||
type ro IntArrayInit:{Int 3}
|
|
||||||
3298 923 92
|
|
||||||
```
|
|
||||||
|
|
||||||
Blind typedefs are very simple. They are composed of the inherited type, and an optional default value.
|
|
||||||
|
|
||||||
## enum
|
|
||||||
|
|
||||||
```
|
|
||||||
enum ro NamedColor:U32
|
|
||||||
red 0xFF0000
|
|
||||||
green 0x00FF00
|
|
||||||
blue 0x0000FF
|
|
||||||
```
|
|
||||||
|
|
||||||
Enums are also very simple. Each line under an enum represents a member and is composed of a name, and an optional initialization value.
|
|
||||||
|
|
||||||
## face
|
|
||||||
|
|
||||||
```
|
|
||||||
face ro ReadWriter:Face
|
|
||||||
write
|
|
||||||
> data:{Byte ..}
|
|
||||||
< wrote:Int
|
|
||||||
< err:Error
|
|
||||||
read
|
|
||||||
> into:{Byte ..}
|
|
||||||
< read:Int
|
|
||||||
< err:Error
|
|
||||||
```
|
|
||||||
|
|
||||||
Interface sections contain a list of behaviors. Behaviors are a name followed by an indented block of inputs and outputs. It is essentially a more stripped down version of function syntax.
|
|
||||||
|
|
||||||
## data
|
|
||||||
|
|
||||||
```
|
|
||||||
data ro integer:Int 3202
|
|
||||||
|
|
||||||
data ro integerArrayInitialized:{Int 16}
|
|
||||||
3948 293 293049 948 912
|
|
||||||
340 0 2304 0 4785 92
|
|
||||||
```
|
|
||||||
|
|
||||||
Data sections are syntactically similar to blind typedef sections.
|
|
||||||
|
|
||||||
## func
|
|
||||||
|
|
||||||
```
|
|
||||||
func ro someFunction
|
|
||||||
@ reciever:SomeObject
|
|
||||||
> input:Int
|
|
||||||
< output:Int:mut
|
|
||||||
---
|
|
||||||
somePhrase
|
|
||||||
```
|
|
||||||
|
|
||||||
Function sections are divided in two. The first part can contain inputs, outputs, and a method reciever. Inputs are preceded by a '>', outputs are preceded by a '<', and the method reciever is preceded by a '@'. Function outputs can have default values, whether they be simple or complex.
|
|
||||||
|
|
||||||
The latter part contains the actual code of the function, which is composed of phrases.
|
|
Reference in New Issue
Block a user