-
Notifications
You must be signed in to change notification settings - Fork 5
/
TODO
87 lines (85 loc) · 2.43 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
- [X] Lexer
- [X] Parser
- [X] Function declaration
- [X] Mathematical & Logical Expressions
- [X] Function return
- [X] Function call
- [X] Fix bugs
- [X] __code__
- [X] Char
- [X] Variable declaration
- [X] Variable use
- [X] Variable value modifications
- [X] =
- [X] +=
- [X] -=
- [X] *=
- [X] /=
- [X] /=
- [X] ++
- [X] --
- [X] Static & constant variables
- [X] Conditions
- [X] Statements
- [X] If
- [X] Else
- [X] Elif
- [X] While
- [X] Break
- [X] Continue
- [ ] For
- [X] Typechecker
- [X] Check expression nodes types
- [X] Check function returning types
- [X] Check argument types
- [X] Char
- [X] Variable declaration type checking
- [X] Variable use type checking
- [X] Variable value modifications type checking
- [X] Static & constant variables
- [X] Codegen
- [X] Function declaration
- [X] Function call
- [X] Function return
- [X] Working HELLO WORLD!!!
- [X] Char
- [X] Variable declaration
- [X] Variable use
- [X] Variable value modifications
- [X] Static & constant variables
- [X] ... Arguments
- [X] Implement printf
- [X] Implement Extern
- [X] Implement enum
- [X] Implement everything from barngo
- [X] Implement structs
- [X] Structure type
- [X] Structures array
- [X] Parse structure
- [ ] Implement array
- [ ] Implement pointers
- [ ] Implement match
- [X] Implement modulus (forgot about it)
BUGS:
- [X] Make args parser finally work...
- [X] Make numbers act like booleans vice versa
- [X] __use__
- [X] Variable use so warning doesnt come up
- [X] Conditions with string
- [ ] \\\" bug
- [X] constant variables and enums can't use runtime values like functions
- [X] implement --no-main
- [X] implement --no-stdlib
- [X] add some more info to unused variable warning
- [X] format arguments are not required
- [X] add || and &&
- [ ] implement __BARN_CURRENT_COMPILED_FILE__
- [ ] for loops...
- [X] typecheck for enums
- [X] test-12-extern-functions.ba is buggy
- [X] variables inside loops, conditions should not exists after closing
- [ ] block using c keywords in variables names, function names etc.
EXAMPLE_PROGRAMS:
- [ ] Temperature converter
- [X] Word Counter
- [X] Voltage Divider Calculator