[go: up one dir, main page]

File: TODO

package info (click to toggle)
chpp 0.3.2-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 3,024 kB
  • ctags: 5,131
  • sloc: ansic: 29,956; cpp: 575; sh: 500; makefile: 314; yacc: 265; asm: 261; lex: 64
file content (162 lines) | stat: -rw-r--r-- 3,262 bytes parent folder | download
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
*** prioritaeten:

+ varargs docen

+ metachar aenderbar machen

+ break etc.

+ bytecode in file schreiben (i.e. precompiled code)

+ chpp schneller machen (listen, ...)

+ autoconf

+ glob makro

+ cgi-interface vercoolen

+ datenbank interfaces

+ listq und hashq.

+ nullbyte handeln.

+ environments als values

+ arithmetik besser machen (zahlenformate etc.)

+ values verallgemeinern

+ soviel wie moeglich entzuckern

+ scheisse reentrant machen.

+ tutorial schreim

*** schani:

- beim for einbauen, dass nicht immer globale vars definiert werden.

- wir brauchen eine moeglichkeit, dass am ende einer zeile doch kein zeilenende ausgegeben wird.
  beispiel:

  ...
  blabla
  #ifdef iagndwos
  ...

  es ist momentan nicht moeglich, nach blabla kein zeilenende ausgeben zu lassen. mein
  vorschlag: ein \ (moeglicherweise waehlbar) am ende der zeile (also als echtes letztes
  zeichen vor '\n') bedeutet kein zeilenende, aber zwei \ (also \\) bedeutet sowohl \ als
  auch zeilenende.

- endlich ein scheiss define makro machen, mit dem man scheiss parametrisierte makros
  definieren kann.

- symtab auf hash-table umstellen.

- test-suite zum regression-testen und zum geschwindigkeits-testen.

- for soll so funken, dass man im body den zaehler aendern kann und dann von dort
  weitergezaehlt wird.

- for generalisieren fuer runterzaehlen und steps.

- metachars fuer makros speichern.

- endlich in die arithmetische evaluierung einbauen, dass auch doubles gecheckt werden.

- speicher fuer assoziative arrays freigeben.

- speicher fuer arrays freigeben.

- assertion num < 300 ausbessern

- files writen docen, neue builtins namen docen

- %depend docen.

- fstat docen

- neue file builtins (fputs, fgets) docen

- warning docen

- gsub docen

- mainfilename docen

- interne vars docen

- neues depend docen

- vararg makros.

- strneq docen

- number docen

- --help schreim

- globalEffectors fuer and, or, cond und case schreiben.

- a datenbank interface.

- call oder exec makro mit dem man andere makros aufrufen kann. als argument kriegts das
  makro und die argumentliste als liste.

+ listq und hashq.

+ alle asserts rausnehmen.

+ varargs docen

+ im input.c is ein fehler beim abfragen der zeilennummern. irgendwas in der art, wenn
  was vom buffer uebrigbleibt, dann wird das nicht weggerechnet oder so...

+ scheisse reentrant machen.

+ nullbyte handeln.

+ glob makro

*** heinz:

- scheiss warnings ausbessern, die kommen, wenn man scheisse.c mit -Wall compiliert.

- error-kommando machen, damit man zum beispiel machen kann

  #ifdef TITLE
  <h1>%TITLE</h1>
  #else
  #error TITLE nicht definiert
  #endif

- zaehlung von zeilennummern einbauen (fuer fehlermeldungen)

- includes sollten immer relativ zu dem verzeichnis sein, in dem sich das includende file
  befindet.

- if-kommando machen, fuer sowas zum beispiel:

  #if %exists(xyz.chml)
  #include xyz.chml
  #endif

- scheiss bug, der bei laengeren files vorkommt, ausbessern.

+ reihenfolge bei include?

+ zaehlung von zeilennummern richtig machen.

+ ist es ok, wenn initCommands() mehrere male aufgerufen wird (um mehrere files nacheinander
  abzuarbeiten)?

+ file descriptors statt file-namen.

+ scheisse reentrant machen.

+ nullbyte handeln.

*** irgendwer: