ChangeLog 20.5 KB
Newer Older
1
2
3
4
5
6
2004-06-18  Akim Demaille  <akim@epita.fr>

	* configure.ac (HAPPY): Use AM_PROG_MISSING so that happy is not
	required by configure.
	This eases Mac OSX ports.

7
8
9
10
11
2004-05-05  Akim Demaille  <akim@epita.fr>

	* src/Makefile.am (dist_noinst_DATA): Ship Parse.hs for those who
	don't have Happy.

12
13
14
15
2003-10-29  Akim Demaille  <akim@epita.fr>

	Version 0.21.

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2003-10-16  Akim Demaille  <akim@epita.fr>

	Change labels from "l`...'" to "...".

	* src/Scan.hs (isIdentNum): Use isIdent.
	(isIdent): Accept "_" for sake of "print_int".
	(scan): No longer detect "l`...'".
	(scanLabel): Remove.
	* doc/havm.texi: Adjust.

	"size" is a Tiger builtin, but also an Havm keyword for an
	obsolete feature.  Get rid of the latter.

	* src/Ir.hs, src/Annotation.hs, src/Eval.hs, src/High.hs,
	* src/Low.hs, src/Parse.y, src/Preload.hs, src/Print.hs: Label has
	no "size" attribute.
	* src/Code.hs, src/Monad.hs (cframesize): Remove.
	Adjust callers.
	* src/Scan.hs (TokSize): No longer used.

36
37
38
39
40
2003-08-18  Akim Demaille  <akim@epita.fr>

	Version 0.20.
	* Makefile.am (install-epita): New.

41
42
43
44
45
46
2003-08-14  Akim Demaille  <akim@epita.fr>

	* src/RuntimeChar.hs, src/RuntimeInput.hs, src/RuntimeSystem.hs,
	* src/RuntimeInt.hs, src/RuntimePrint.hs, src/RuntimeString.hs:
	Normalize error messages.

47
48
49
50
2003-08-14  Akim Demaille  <akim@epita.fr>

	Version 0.19.

51
52
53
54
55
56
57
58
2003-08-14  Akim Demaille  <akim@epita.fr>

	* doc/builtins.texi: New.
	* doc/havm.texi: Use it.
	* src/Opt.hs (Eq Flag): Fix the definition of (==) for Display.
	(version_message): New.
	Remove a few extra $.

59
60
61
2003-08-13  Benot Perrot  <benoit@lrde.epita.fr>

	* src/RuntimeCommon.hs (rtError): Display error message on stdout.
62

Benoit Perrot's avatar
Benoit Perrot committed
63
64
65
66
67
68
2003-08-13  Benot Perrot  <benoit@lrde.epita.fr>

	* src/RuntimeCommon.hs (rtError): Distribute rtError.
	* src/RuntimeSubstring.hs (rtSubstring), src/RuntimeChar.hs (rtChr):
	Use rtError() instead of error().

69
70
71
72
2003-08-13  Benot Perrot  <benoit@lrde.epita.fr>

	* src/RuntimeSubstring.hs (rtSubstring): Check bounds.
	* src/RuntimeChar.hs (rtChr) : Check bounds.
73

74
75
76
77
2003-07-22  Akim Demaille  <akim@epita.fr>

	* configure.ac: Bump to 0.18a.

78
79
80
81
2003-07-22  Akim Demaille  <akim@epita.fr>

	Version 0.18.

82
83
2003-07-22  Akim Demaille  <akim@epita.fr>

84
85
	* src/Cpu.hs (rfetch, rstore): Register $fp, $sp, and $v0 as
	aliases for fp, sp, and rv.
86
87
88
89
	* src/Scan.hs (isIdent, isIdentNum): New.
	(scan, scanTokString): Use them to accept $ in identifiers.
	* doc/havm.texi (Special Temporaries): New.

90
91
92
93
2003-07-07  Akim Demaille  <akim@epita.fr>

	* configure.ac (HAPPY): Die if $HAPPY is no, not if HAPPY is no.

94
95
96
97
98
2003-07-04  Akim Demaille  <akim@epita.fr>

	* src/Eval.hs (evalInt): New.
	Use it to catch non-integer values where integer was expected.

99
100
2003-06-30  Akim Demaille  <akim@epita.fr>

101
102
103
104
	* src/Scan.hs: Fit into 80 cols.
	(charToOp): New.
	(scan): Use it.
	* src/Low.hs: Reformatting.
105
106
	Use "invalid" in error messages, not "incorrect".

107
108
109
110
2003-06-30  Akim Demaille  <akim@epita.fr>

	* src/Eval.hs (evalStm): Reformatting, and comment changes.

111
112
113
2003-06-24  Akim Demaille  <akim@epita.fr>

	Version 0.17.
114
	* src/Main.hs (evalM): Fix incorrect verbose invocations.
115

116
117
118
119
120
2003-06-24  Akim Demaille  <akim@epita.fr>

	* src/Main.hs (evalM): Use verbose.
	* src/Trace.hs: Export it.

121
122
2003-06-24  Akim Demaille  <akim@epita.fr>

123
124
125
126
127
	* configure.ac: Bump to 0.17.

2003-06-24  Akim Demaille  <akim@epita.fr>

	Version 0.16.
128
129
130
	* src/High.hs (highStm): New.
	(highStms): Rewrite using the smaller "highStm" and map.

131
132
133
134
135
136
137
2003-06-24  Akim Demaille  <akim@epita.fr>

	* src/High.hs (highStms): Pay attention that by error the "CJump"
	case was checking twice the Stms following it, a quadratic
	behavior, that less to Havm being hyper slow (and even killed by
	the OS on my machine).

Akim Demaille's avatar
Akim Demaille committed
138
139
140
141
142
143
2003-06-24  Akim Demaille  <akim@epita.fr>

	* src/Low.hs (lowStms): Use awarn.
	* src/High.hs: Use locations of the culprits, not just a
	surrounding expression.

144
145
146
147
148
2003-06-24  Akim Demaille  <akim@epita.fr>

	* src/Trace.hs (warn, verbose, awarn, averbose): New.
	* src/Main.hs, src/Eval.hs, src/High.hs: Use them.

149
150
151
152
2003-06-24  Akim Demaille  <akim@epita.fr>

	* configure.ac: Bump to 0.16.

153
154
155
156
157
2003-06-24  Akim Demaille  <akim@epita.fr>

	Version 0.15.
	* doc/havm.texi (HIR): Typo.

158
159
160
161
162
163
164
165
166
167
168
2003-06-24  Akim Demaille  <akim@epita.fr>

	Fix the bug where actual arguments could be overwritten by inner calls.

	* src/Cpu.hs (rfetch): Report accesses to non existent temps.
	* src/Eval.hs (evalArgs): Remove, rather use directly "map
	evalExp".
	(shipArgs): New, handles the "i0", "i1", etc. initialization part.
	(evalExp (Call)): Adjust.
	Factor the code.

169
170
171
172
173
174
175
176
2003-06-24  Akim Demaille  <akim@epita.fr>

	* src/Trace.hs (verbose): Now takes an annotation as first
	argument.
	* src/Eval.hs: Adjust.
	(evalExp (Call)): Display the return of the function, and its value.
	Also trace builtins.

177
178
179
180
181
182
183
184
185
186
187
188
189
2003-06-24  Akim Demaille  <akim@epita.fr>

	* src/Low.hs (LocationAnn): Don't import it.
	(warn): New.
	Use it.
	Simplify cases specified twice.
	* src/Eval.hs: No longer catch broken Moves, let...
	* src/High.hs: New, ... do it.
	* src/Main.hs: Import and use it.
	(checkM): Rename as...
	(checkLowM): this.
	(checkHighM): New.

190
191
192
193
194
195
2003-06-20  Akim Demaille  <akim@epita.fr>

	* configure.ac: Bump to 0.15.
	* src/Eval.hs (Print): Import it to have "show" on Ir.
	(evalStm): Diagnose incorrect move arguments.

196
197
2003-06-20  Akim Demaille  <akim@epita.fr>

198
199
200
201
202
203
204
	Version 0.14.
	* NEWS: Update.
	* src/Eval.hs (call): Fetch rv before saving the registers.
	I do not know why actually...
	* TODO, tests/58-22.tig, tests/58-22.lir: New.

2003-06-20  Akim Demaille  <akim@epita.fr>
205

206
207
208
209
210
	* src/Annotation.hs (annStm): We are interested in stripping
	annotation of Labels, not LabelEnds.
	* src/Plain.hs (plainExp): When building fake Seq, use a valid
	location, based on that of the list of stms.

211
212
213
214
215
2003-06-20  Akim Demaille  <akim@epita.fr>

	* src/Trace.hs (verbose): New.
	* src/Eval.hs: Use it.

216
217
218
219
220
221
2003-06-19  Akim Demaille  <akim@epita.fr>

	* src/Scan.hs (scanComment): Rename "end" as "closing" to avoid
	gratuitous name clashes.
	* src/Print.hs: Newline between the two parts of an ESeq.

222
223
224
225
2003-06-19  Akim Demaille  <akim@epita.fr>

	* src/Eval.hs: There is no "eseq end" to trace.

226
227
228
229
2003-06-19  Akim Demaille  <akim@epita.fr>

	* src/Low.hs (lowStms): Fix the spurious `:'.

230
231
232
233
234
235
236
237
2003-06-19  Akim Demaille  <akim@epita.fr>

	* src/Low.hs: Don't match the annotation as being an LocationAnn,
	as it happens to be a NoAnn in some case.  Since it doesn't match,
	some files that ought to be rejected are actually accepted.
	* src/Print.hs (showExp): Repair the Mem and Call cases that were
	merged together by mistake.

238
239
240
241
242
2003-06-18  Akim Demaille  <akim@epita.fr>

	* src/Eval.hs (evalExp): Eval the args of a call before saving the
	context, so that the possible side effects of arguments be kept.

243
244
245
246
247
248
249
250
251
2003-06-11  Akim Demaille  <akim@epita.fr>

	* config/Makefile.am: Remove, Automake supports this feature
	(Makefile-less aux dir).
	* configure.ac (AM_INIT_AUTOMAKE): No longer "foreign".
	* NEWS, AUTHORS, README: New.
	* src/Runtime.hs (rtLib): Support `printint', as claimed by the
	documentation.

252
253
254
255
256
257
258
259
2003-06-11  Akim Demaille  <akim@epita.fr>

	* src/Scan.hs (scanComment): Extend to replace the former
	scanComment and...
	(scanCommentLine): this one too.
	* src/Eval.hs: When tracing, report the annotations of call
	arguments.
	* src/Location.hs (incchar, incs): New.
260

261
262
263
264
265
266
2003-06-11  Akim Demaille  <akim@epita.fr>

	* configure.ac (GHC, HAPPY): Look for them.
	* src/Makefile.am: Adjust.
	* doc/Makefile.am: Remove dead bits.

267
268
269
270
271
272
2003-06-10  Akim Demaille  <akim@epita.fr>

	* doc/havm.texi (The @havm{} Runtime): Sort, and include the
	internal routines.
	(@acronym{hir}): Complete the grammar.

273
274
275
276
277
2003-04-22  Akim Demaille  <akim@epita.fr>

	* doc/havm.texi (The @havm{} Runtime): Fill in the blanks, using
	tiger.texi.

278
279
280
281
2003-04-22  Akim Demaille  <akim@epita.fr>

	* doc/havm.texi: New.

282
283
284
285
286
2003-04-08  Akim Demaille  <akim@epita.fr>

	* src/Makefile.am (havm_dependencies): New, to make sure havm gets
	rebuilt when Config.hs changes.

287
288
289
290
2003-04-08  Akim Demaille  <akim@epita.fr>

	* configure.ac: Bump to 0.13a.

291
292
2003-04-08  Akim Demaille  <akim@epita.fr>

Akim Demaille's avatar
Akim Demaille committed
293
	Version 0.13.
294
295
296
297

	* src/Scan.hs (scanLiteralContent): Display a complete error
	message on bad escapes.

298
299
300
301
302
303
2003-04-06  Akim Demaille  <akim@epita.fr>

	* src/Print.hs (showList): New, for Exp and Stm.
	Remove all the final "\n" for each instruction type, since
	showList now handles it.

304
305
306
307
2003-04-06  Akim Demaille  <akim@epita.fr>

	* src/Main.hs (unparseM): s/printStr/putStr/.

308
309
310
311
312
313
314
315
2003-04-06  Akim Demaille  <akim@epita.fr>

	* src/Print.hs (printExp, printExps, printStm, printStms): Remove.
	(show Exp, show Stm): New.
	(showExp, showExps, showStm, showStms): New, not exported.
	* Src/Eval.hs: Adjust.
	* src/Main.hs (unparseM): Likewise.

316
317
318
319
320
2003-04-06  Akim Demaille  <akim@epita.fr>

	* src/Eval.hs: Display the annotations when evaluating.
	* src/Annotation.hs (show): Display the location.

321
322
323
324
2003-04-06  Akim Demaille  <akim@epita.fr>

	* src/Ir.hs: Relops are to be displayed in lower case.

325
326
327
328
329
2003-04-06  Akim Demaille  <akim@epita.fr>

	* src/Plain.hs: Do not throw away the annotation, in particular to
	preserve the locations.

330
331
332
333
2003-04-06  Akim Demaille  <akim@epita.fr>

	* src/Print.hs: Some factorization.

334
335
336
337
338
2003-04-02  Akim Demaille  <akim@epita.fr>

	* configure.ac: Bump to 0.13.
	* src/Makefile.am (CLEANFILES): Add havm, now that it's a SCRIPT.

339
340
341
342
343
344
345
2003-04-02  Akim Demaille  <akim@epita.fr>

	* src/Scan.hs (scan): Diagnose the unexpected characters.
	* src/Makefile.am (bin_PROGRAM): Rename as...
	(bin_PROGRAMS): this, and rename as...
	(bin_SCRIPTS): this, as we don't want a C compiler.

346
347
348
349
350
351
352
353
354
355
2003-03-18  Akim Demaille  <akim@epita.fr>

	Support distcheck.

	Version 0.12.

	* configure.ac, Makefile.am, config/Makefile, src/Makefile.am,
	* src/Config.hs.in: New.
	* src/Opt.hs: Use it.

356
357
358
359
360
2003-03-06  Akim Demaille  <akim@epita.fr>

	* src/Scan.hs (escapeToChar): New.
	(scanLiteralContent): Support all the ISO C symbolic \.

361
362
363
364
365
366
367
368
2003-03-05  Akim Demaille  <akim@epita.fr>

	* src/Code.hs, src/Cpu.hs, src/Eval.hs, src/Ir.hs, src/Main.hs,
	* src/Memory.hs, src/Monad.hs, src/Parse.y, src/Preload.hs,
	* src/Print.hs, src/Result.hs, src/Scan.hs, src/StdBinop.hs,
	* src/StdRelop.hs, src/Token.hs: Use Unix end of lines, not a` la
	DOS.

369
370
371
372
373
374
2003-03-05  Akim Demaille  <akim@epita.fr>

	* src/Scan.hs (Data.Char): Import isHexDigit and isHexDigit.
	(scanLiteralContent): Support \x for sake of improved tc
	compatibility.

375
376
377
378
379
380
381
2003-01-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.11.

	* src/Runtime.hs (rtLib): Let `_not' be an alias for `not', to
	ease the compatibility of the Tiger compiler with SPIM.

382
383
384
385
386
387
388
2003-01-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.10.

	* src/RuntimeString.hs (rtCompare): Substract strings in the right
	order.

389
390
391
392
393
394
395
396
397
2003-01-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.9.

	* src/Main.hs: Use line buffering for `stderr' and `stdout',
	instead of block buffering.
	* src/Eval.hs: During the evaluation of a program, output traces
	to `stderr' instead of `stdout'.

398
399
400
401
402
403
404
405
2003-01-22  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.8.

	* src/RuntimeSystem.hs (rtExit): Flush `stderr' and `stdout'
	before exiting.
	(rtFlush): Use a real flush, instead of printing a line skip.

406
407
408
409
410
411
412
413
414
2003-01-22  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.7.

	* src/StdBinop.hs (binop): Fix.  Use `quot' instead of `div', and
	`rem' instead of `mod', since we want the usual operators, with
	results truncated towards zero.
	Reported by Alexis Brouard.

415
416
417
418
419
2003-01-14  Robert Anisko  <robert@lrde.epita.fr>

	* src/RuntimeInput.hs (rtGetChar): Fix.  Store a valid empty
	string...

420
421
422
423
424
425
426
427
2003-01-14  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.6.

	* src/RuntimeInput.hs (rtGetChar): Fix.  Do not crash when the end
	of file has been reached.  Return an empty string instead.
	Reported by Giovanni Palma.

428
429
430
431
432
433
434
435
2002-07-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.5.

	* src/Eval.hs (evalExp): Save registers before evaluating
	arguments in calls, not after. Remove some dead code.
	Reported by Denis Joubert.

436
437
438
439
440
441
2002-07-01  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.4.

	* src/Plain.hs: Accept ir trees with annotations.

442
443
444
445
446
447
448
449
450
2002-07-01  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.3.

	* src/Main.hs: When an ir tree is rejected, return a specific
	exit status.
	* src/Low.hs: Return a boolean to tell whether the ir tree was
	rejected or not.

451
452
453
454
455
456
457
458
459
460
461
462
2002-07-01  Robert Anisko  <robert@lrde.epita.fr>

	* src/Low.hs: Output locations of rejected subtrees.

	* src/Parse.y: Update location handling.  Annotate trees with
	their locations.
	* src/Scan.hs: Likewise.
	* src/Annotation.hs: Likewise.

	* src/Opt.hs: Fix.
	* src/Main.hs: Fix.

463
464
465
466
467
2002-07-01  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Process options for low level ir checking.
	* src/Opt.hs: Accept `-l' and `--low'.

468
469
470
471
472
473
2002-07-01  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Use module Low.
	* src/Low.hs: New file.  Check low level intermediate
	representation.

474
475
476
477
2002-06-14  Robert Anisko  <robert@lrde.epita.fr>

	* src/Opt.hs (version): Bump to 0.2.

478
479
480
481
2002-06-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Preload.hs (preloadExp): Handle Mem properly.

482
483
484
485
2002-06-12  Robert Anisko  <robert@lrde.epita.fr>

	* src/Preload.hs (preloadExp): Handle Binop.

486
487
488
489
2002-06-11  Robert Anisko  <robert@lrde.epita.fr>

	* src/RuntimeString.hs (rtConcat): Fix.

490
491
492
493
2002-06-10  Robert Anisko  <robert@lrde.epita.fr>

	* src/Monad.hs: Force profiling strictness.

494
495
496
497
2002-06-04  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs (profileM): Output report to stderr.

498
499
500
501
2002-05-24  Robert Anisko  <robert@lrde.epita.fr>

	* src/Report.hs: Update weights.

502
503
504
505
506
507
2002-05-24  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Update.
	* src/Report.hs: Weight instructions by their costs when computing
	the number of cycles.

508
509
510
511
512
513
514
515
516
2002-05-24  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Use module Report.
	* src/Report.hs: New file.  Build reports from informations collected
	during profiling.

	* src/Monad.hs (profinc): Fix.  Increasing instruction counters seems
	to be a good idea.

517
518
519
520
521
2002-05-24  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Process options for profiling.
	* src/Opt.hs: Accept `-p' and `--profile'.

522
523
524
525
526
527
528
2002-05-24  Robert Anisko  <robert@lrde.epita.fr>

	* src/Eval.hs: Use module Profile.
	* src/Profile.hs: New file.

	* src/Monad.hs: Add facilities for profiling programs.

529
530
531
532
533
2002-05-24  Robert Anisko  <robert@lrde.epita.fr>

	* src/Eval.hs: Use module Trace.
	* src/Trace.hs: New file.

534
535
536
537
538
2002-05-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/RuntimeSystem.hs (rtFlush): Use putStrLn instead of hFlush,
	which doesn't seem to have the expected behavior.

539
540
541
542
543
2002-05-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/Scan.hs (scanLiteral): Fix performance issues.
	(scanLiteralContent): New function.

544
545
546
547
2002-05-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/Makefile (profile): New rule for profiling.

548
549
550
551
552
553
554
555
556
557
558
559
2002-05-23  Robert Anisko  <robert@lrde.epita.fr>

	* src/Eval.hs: Update calls to run-time library.

	* src/RuntimeSystem.hs: New file.
	* src/RuntimeString.hs: New file.
	* src/RuntimePrint.hs: New file.
	* src/RuntimeInput.hs: New file.
	* src/RuntimeChar.hs: New file.
	* src/RuntimeInt.hs: New file.
	* src/Runtime.hs: New file.

560
561
562
563
564
2002-05-21  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Call routines from module Plain.
	* src/Plain.hs: New file.

565
566
567
568
2002-05-21  Robert Anisko  <robert@lrde.epita.fr>

	* src/Print.hs: Complete unparsing.

569
570
571
572
573
2002-05-21  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Process options for unparsing.
	* src/Opt.hs: Accept `-d' and `--display'.

574
575
576
577
578
2002-05-21  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs (evalM): Adapt.
	* src/Eval.hs (evalTrace): Adapt.

Robert Anisko's avatar
Robert Anisko committed
579
580
	* src/Monad.hs (traceon, traceoff, traceset, tracetell): Remove,
	replace by...
581
582
	(optset, optttell): ...these.

583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
2002-05-21  Robert Anisko  <robert@lrde.epita.fr>

	* src/Eval.hs: Change typing to accept annotations on trees.
	* src/Preload.hs: Likewise.
	* src/Parse.y: Likewise.
	* src/Main.hs: Likewise.

	* src/Print.hs: Use Stm Ann instead of Stm.  Display annotations
	when possible.

	* src/Monad.hs: Use Stm Ann instead of Stm.
	* src/Code.hs: Use Stm Ann instead of Stm.

	* src/Annotation.hs: New file, defines a default annotation type.
	* src/Ir.hs: Parametrize the abstract syntax tree of intermediate
	representation to allow arbitray annotations.

600
601
602
603
604
605
606
607
608
609
610
611
612
2002-05-21  Robert Anisko  <robert@lrde.epita.fr>

	* src/Preload.hs: Use an integer to store the current level, instead
	of a boolean telling if the current level is the outer level.

	* src/Monad.hs (lstore, lfetch): New functions, used to associate a
	depth to labels.

	* src/Memory.hs: Update.
	* src/Main.hs: Update.

	* src/Level.hs: New file.

613
614
615
616
2002-05-20  Robert Anisko  <robert@lrde.epita.fr>

	* src/Parse.y (happyError): Improve error messages.

617
618
619
620
621
622
623
624
625
626
627
2002-05-20  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Update.
	* src/Parse.y: Update.

	* src/Scan.hs: Track locations.
	* src/Token.hs: Store locations.

	* src/Location.hs: New file.
	* src/Position.hs: New file.

628
629
630
631
2002-05-20  Robert Anisko  <robert@lrde.epita.fr>

	* src/Token.hs: To lowercase.

632
633
634
635
2002-05-20  Robert Anisko  <robert@lrde.epita.fr>

	* src/Eval.hs (evalExp): Trace function calls.

636
637
638
639
640
2002-05-20  Robert Anisko  <robert@lrde.epita.fr>

	* src/Print.hs: To lowercase.
	* src/Eval.hs: To lowercase.

641
642
643
644
645
646
647
648
649
650
651
652
2002-05-17  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Process options for execution tracing.
	* src/Opt.hs: Accept `-t' and `--trace'.

	* src/Eval.hs (evalTrace): New function, used to display informations
	when tracing is enabled.
	(evalExp, evalStm): Add execution tracing.

	* src/Monad.hs (traceon, traceoff, traceset, tracetell): New functions,
	used to control execution tracing.

653
654
655
656
657
658
659
660
661
662
2002-05-17  Robert Anisko  <robert@lrde.epita.fr>

	* src/Makefile: Update.

	* src/Preload.hs: Use lift instead of dump and exec.
	* src/Eval.hs: Use lift instead of dump and exec.

	* src/Monad.hs (dump, exec): Merge into...
	(lift): ...this.

Robert Anisko's avatar
Robert Anisko committed
663
664
665
666
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Scan.hs (scanLiteral): Accept `\"' in literal strings.

667
668
669
670
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Eval.hs (lib): Add `exit' and `substring' to run-time library.

671
672
673
674
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Eval.hs (lib): Add `print_int' to run-time library.

675
676
677
678
679
680
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Scan.hs (scan, scanTokKeyword): To lowercase.
	* src/Eval.hs (evalExp): To lowercase.
	* src/Cpu.hs (rfetch, rstore): To lowercase.

681
682
683
684
685
686
687
688
689
690
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Store zero as the fake static link of main.
	* src/Token.hs: Add branch TokLabelEnd to Tok.
	* src/Scan.hs: Accept `LABEL END.'.
	* src/Eval.hs: Pass function arguments in their dedicated registers.
	* src/Preload.hs: Update code preloading for outer labels.
	* src/Parse.y: Build nodes from `LABEL END.'.
	* src/Ir.hs: Add branch LabelEnd to Stm.

691
692
693
694
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Makefile: Program name is now `havm'.

695
696
697
698
699
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Main.hs: Use module Opt.
	* src/Opt.hs: New file.  Process options using module GetOpt.

700
701
702
703
704
705
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Scan.hs (scan, scanTokInt): Scan negative integers.
	* src/Eval.hs (evalArgs): Grow stack down.
	* src/Cpu.hs (initialize): Change base values of `FP' and `SP'.

706
707
708
709
710
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Preload.hs (preloadExp): Recurse into arguments of function
	calls.

711
712
713
714
715
2002-05-13  Robert Anisko  <robert@lrde.epita.fr>

	* src/Scan.hs (scanCommentLine): New function.  Character `#' now
	starts a one-line comment.

716
717
718
719
2002-05-11  Robert Anisko  <robert@lrde.epita.fr>

	* src/Makefile: New.

720
721
722
723
724
2002-05-07  Robert Anisko  <robert@lrde.epita.fr>

	* src/Memory.hs: Use a mutable array to simulate memory.
	* src/Monad.hs: Update calls to the Memory module.

725
726
727
2002-05-07  Robert Anisko  <robert@lrde.epita.fr>

	Initial checkin.
728
729
730

--

731
Copyright (C) 2002, 2003 Laboratoire de Recherche et Dveloppement de l'EPITA
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746

This file is part of HAVM.  This program is free software; you can
redistribute it and/or modify it under the terms of the GNU General
Public License version 2 as published by the Free Software
Foundation.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.