save
[protos/libecoli.git] / lib / todo.txt
1 tk_cmd
2 ======
3
4 X evaluate expression tree in ec_tk_expr
5 X cmd token
6 - example
7 X tk_re
8
9 cleanup / rework
10 ================
11
12 - check XXX in code
13 X remove the _new() functions
14 - iterate children nodes without chaining them
15 - add a tk vector type: will be used in several nodes (ex: or, seq, ...)
16 - check allocation model everywhere
17 - checkpatch?
18 - use linux style (update .emacs)
19 - better logs
20 - return values
21 - use errno when returning pointers
22 - missing static / const
23 - license: "s/neither the name...may/the names of its contributors may not/"
24 - check all completion nodes
25 X split ecoli_tk.h
26 - cache results when appropriate?
27 - size_t or unsigned int?
28 X rename:
29   X ec_tk -> ec_node
30   X ec_parsed_tk -> ec_parsed
31   X ec_completed_tk -> ec_completed
32   X tk, gen_tk, token, ... -> node
33   X tokens -> input_str / input_strvec ?
34 - use is_err() or errno for funcs returning ptrs
35 - save node path in completion to fix help string
36 - code coverage
37 - try to hide structures
38
39 dependencies
40 ============
41
42 X pass the current parsed state when parsing/completing
43 X new node "once"
44 - new node "condition"
45
46 logs
47 ====
48
49 - register log types
50
51 yaml
52 ====
53
54 X register nodes by name
55 - interface to add attributes: all nodes must be configurable through a
56   generic api
57   - attr string
58   - attr string list
59   - attr node
60   - attr node list
61   - attr int
62
63 - yaml interface to create nodes
64 - example
65
66 examples
67 ========
68
69 - example which parses arguments (argc/argv)
70 - example that acts as bash completion (ip link ?)
71 - calculator example (var assignation, expression evaluation)
72 - example with libedit
73 - mini script language
74 - configuration file
75
76 doc
77 ===
78
79 - overview
80 - add api doc in .h
81 - generate automatic api doc
82 - architecture
83 - coding rules, process
84 - each node
85 - allocation model
86 - say that it stops at first match (no ambigous support)
87 - say that completion must be exhaustive
88
89 build framework
90 ===============
91
92 - .map files for API
93 - split libs, tests and examples
94 - add make help
95 - add make config
96 - -fvisibility=
97
98 tests
99 =====
100
101 - complete automatic tests with "make test"
102
103 new nodes
104 =========
105
106 - regexp
107 - node which always matches
108 - file + partial completion
109 - ether, ip, network
110 - fusion node: need to match several children, same for completion
111 - float
112 - not
113
114 encoding
115 ========
116
117 - support utf-8 and other encodings
118 - example
119 - documentation
120
121 netconf example
122 ===============
123
124 - demonstration example that parses yang file and generate cli