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