-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTODO
25 lines (21 loc) · 1.27 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
This does not describe the goals and visions but short term things that should
not be forgotten.
- semantic should check that structs don't contain themselfes
- having the same entry twice in a struct is not detected
- change lexer to build a decision tree for the operators (so we can write
<void*> again...)
- add possibility to specify default implementations for typeclass functions
- add static ifs that can examine const expressions and types at compiletime
- forbid same variable names in nested blocks (really?)
- change firm to pass on debug info on unitialized_variable callback
- introduce const type qualifier
Tasks suitable for contributors, because they don't affect the general design
or need only design decision in a very specific part of the compiler and/or
because they need no deep understanding of the design.
- Add parsing of floating point numbers in lexer
- Add option parsing to the compiler, pass options to backend as well
- Add an alloca operator
- make lexer accept \r, \r\n and \n as newline
- make lexer unicode aware (reading utf-8 is enough, for more inputs we could use iconv, but we should recommend utf-8 as default)
Refactorings (mindless but often labor intensive tasks):
- keep typerefs as long as possible (start the skip_typeref madness similar to cparser)