change parse api
[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 - use is_err() for errno in ptrs
34
35 dependencies
36 ============
37
38 - pass the current parsed state when parsing/completing
39 - new node "condition"
40
41 logs
42 ====
43
44 - register log types
45
46 yaml
47 ====
48
49 X register nodes by name
50 - interface to add attributes: all nodes must be configurable through a
51   generic api
52   - attr string
53   - attr string list
54   - attr node
55   - attr node list
56   - attr int
57
58 - yaml interface to create nodes
59 - example
60
61 examples
62 ========
63
64 - example which parses arguments (argc/argv)
65 - example that acts as bash completion (ip link ?)
66 - calculator example (var assignation, expression evaluation)
67 - example with libedit
68 - mini script language
69 - configuration file
70
71 doc
72 ===
73
74 - overview
75 - add api doc in .h
76 - generate automatic api doc
77 - architecture
78 - coding rules, process
79 - each node
80 - allocation model
81 - say that it stops at first match (no ambigous support)
82 - say that completion must be exhaustive
83
84 build framework
85 ===============
86
87 - .map files for API
88 - split libs, tests and examples
89 - add make help
90 - add make config
91 - -fvisibility=
92
93 tests
94 =====
95
96 - complete automatic tests with "make test"
97
98 new nodes
99 =========
100
101 - regexp
102 - node which always matches
103 - file + partial completion
104 - ether, ip, network
105 - fusion node: need to match several children, same for completion
106 - float
107
108 encoding
109 ========
110
111 - support utf-8 and other encodings
112 - example
113 - documentation
114
115 netconf example
116 ===============
117
118 - demonstration example that parses yang file and generate cli