source: branches/ali/AISC_COM/AISC/keys.README

Last change on this file was 18731, checked in by westram, 3 years ago
  • remove generated whitespace.
    • code generator depended on trailing whitespace (fixed using variable EMPTY)
  • fix trailing whitespace in text.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1
2format of .aisc-files used for client/server interfaces
3-------------------------------------------------------
4
5PROJECT      string   // main name of program
6OBJECT_KEY   string   // prefix key for objects
7MAX_KEY      num      // maximum attribute number
8MAX_OBJECT   num      // maximum object number
9MAGIC_NUMBER num      // server version (see magic.lst)
10
11DATA {
12
13@CONST, @VALUE, @DOCU; // constants
14
15@ENUM;                  // enum is unused and obsolete
16..., {;
17        @VAR, @VAL, @DOCU;
18};
19
20@STRUCT, @SKEY, @SKEYC, @DOCU;
21
22my_struxt, MYKEY, 4711, (~ This is the docu ~), [SAVEDIRECTION VERTICAL,] {
23        @TYPE,  @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU;
24        ...;
25};
26
27};
28
29
30
31TYPE can be:
32
33        int,char,double,float
34
35        dllh            header of DoubledLinkedList
36        aisc_string     string
37        bytestring      string
38
39        // [func    function ]
40
41        or any user defined type
42
43        Note: when using aisc_string as result type of a callback (i.e. %), you have to
44              store it in some static buffer and return aisc_cstring!
45
46REF can be:
47        %               virtual (aka callback)
48
49                        unspecified ( double char .... )
50eor     i               or owner by insertion
51eor     o               owner by pointer
52eor     d               special owner (double linked list with ident + hash)
53eor     l               link
54eor     r               reversed_link   (only to those objects with dllh)
55
56        e               enum type
57eor     t               terminal type
58eor     s               structure type  /* unfold THIS structure else t */
59
60[       *               resizeable vector of ...        (key SIZE is size)
61eor     v               fixed   vector of ...           (key SIZE is size)]
62
63[       f               forward reference                               ]
64                                                        (THIS-> is father)
65
66z.B.    os*     Vector of unfold substructures
67
68
69ACC             Accessiongrants
70        ,       read and write
71        r,      readonly
72        w,      writeonly
73        c,      createonly
74        rw,     read and write
75        privat,
76        public,
77
78SAVE    version number for load/save (if AISC_SAVE=YES)
79
80KEY     key name
81
82KEYC    key number
83
84        Has to be unique inside each STRUCT.
85        Keys w/o keynumbers exist, but are not accessible via interface.
86        Several types use multiple KEYs (e.g. 'd' uses 2 keys (KEY and KEY+1)).
87
88INIT    default value or call to init-funtion
89        'THIS' is replaced by pointer to STRUCT
90
Note: See TracBrowser for help on using the repository browser.