]> ocean-lang.org Git - ocean-D/blob - ocean-steps
updates
[ocean-D] / ocean-steps
1 About 3 years with nothing... though I've been doing edlib instead.
2
3 If I had concrete steps I might be able to make progress.
4
5
6 1/ Add a simple test sample code to git - maybe just fibonnaci and gcd
7
8 2/ Add error reporting to parser.  It is really useless without this.
9     Error productions are:
10          A -> $error term
11     If a terminal cannot be shifted, and we cannot reduce we push
12     the terminal back and consider 'error' instead.
13     We discard state until 'error' can be shifted, then discard
14     input until a terminal can be shifted.
15     'error' object gets told:
16         first bad terminal
17         earliest state and last terminal that were discarded
18     error production needs an action which reports the error.
19
20 3/ Add
21       var:type = value
22    type declarations.
23
24 4a/
25     Add [ len : type ]
26        array type
27     and var[expr] array access/assignment
28
29 4b/ Add
30       struct name { field:type; f2, f3:type }
31     either name or fields are optional
32
33 5/ Add
34       function name(field:type) : type { code }
35     functions.  Functions MUST return a value
36
37 6/ Add
38       proc name( fields ) :fields { code }
39    Procedures don't need to return anything, and may return serveral