summaryrefslogtreecommitdiff
path: root/qualifiers.txt
blob: 18c447f01f3a33db3076ee1e4157d03537c25538 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
block qualifier list:

interface**
enum**
loop
match
if
else
method*
override*
raw
inline
export
module
case
default
operator*



structure of blocks:

(block start)
    interface (defword)

    loop (bool params) (loop rets)
    if (bool params)
    else
    	if (bool params)***
    
    match (match params) (case blocks)
    case (case params)
    default

    override***
        method (defword) (function params) (function rets)
        operator <unary operator> (ret)
        operator <binary operator> (param) (ret)
    
    export***
        module (defword)
    
    inline***
        raw***
            (defword) (function params) (function rets)
(block end)



structure of statements:

(type) (definition list)
(value)
(keyword) (parameters if required)



keyword statements:

delete (list of defwords)*
struct (defword) (struct params)*
enum (defword) (return type list) (enum values)
continue
break
label (defword)
goto (defword)
asm (defstring)

*   - type extension
**  - advanced type extension
*** - optional modifier