Robert Griesemer
52e9080d56
- simplified parsing of composite literals and slices by
...
treating ":" as lowest-level binary operator
- more precise error message for composites
- added flag -columns (false) - when set, prints precise error column
- a few more tests
R=r
OCL=17428
CL=17428
2008-10-18 20:20:30 -07:00
Robert Griesemer
e45eb60657
Added mechanism for very precise self-testing:
...
- in selftest mode (-t) interpret comments of the form /* ERROR */ and /* SYNC */
and validate reported errors with the error markings in a file
- added initial selftest.go file
Also:
- fixed an issue with empty blocks
- generally report better error messages
- added many more tests to the test script (essentially all .go programs which
have no syntax errors)
R=r
OCL=17426
CL=17426
2008-10-18 16:42:25 -07:00
Rob Pike
265e73ee14
beginnings of reflection values.
...
R=rsc
DELTA=421 (357 added, 17 deleted, 47 changed)
OCL=17388
CL=17401
2008-10-17 18:06:29 -07:00
Rob Pike
35eebcacc8
fix typo causing infinite recursion
...
R=rsc
OCL=17398
CL=17398
2008-10-17 17:59:27 -07:00
Russ Cox
5fe4cd83a8
do not set t->recur on basic types.
...
the comment talked about printing, but now
t->recur is only used for typehash.
in typehash it is important to compute different
hashes for the different basic types.
add test that makes sure an interface { X() int8 }
cannot be used as interface { X() int64 }
R=ken
OCL=17396
CL=17396
2008-10-17 17:51:29 -07:00
Russ Cox
ab9db8a5f8
cleanup - delete unneeded vargen++
...
R=ken
OCL=17394
CL=17394
2008-10-17 17:45:32 -07:00
Rob Pike
d378321b6e
add atol and ltoa. probably want unsigned at some point too.
...
R=rsc
DELTA=14 (10 added, 0 deleted, 4 changed)
OCL=17387
CL=17390
2008-10-17 17:28:09 -07:00
Robert Griesemer
071e963e0e
- fixed bug that wasn't caught by 6g (but by gccgo)
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=17380
CL=17380
2008-10-17 16:27:49 -07:00
Robert Griesemer
f39b518bcb
- fixed a couple of corner cases (empty statements, empty composites)
...
- more robust printing in presence of errors
- fixed incorrect printing of function literals
R=r
OCL=17378
CL=17378
2008-10-17 16:19:31 -07:00
Russ Cox
ba46bd1e5a
export prereq for interface types
...
R=ken
OCL=17377
CL=17377
2008-10-17 16:13:17 -07:00
Ian Lance Taylor
907fea6b54
Link against -lm so that we can find the function "floor".
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=17375
CL=17375
2008-10-17 15:52:49 -07:00
Rob Pike
4bcfffb761
update fixed bugs (and delete an irrelevant one)
...
R=rsc
DELTA=328 (158 added, 170 deleted, 0 changed)
OCL=17353
CL=17359
2008-10-17 11:48:51 -07:00
Rob Pike
cac904b609
add simple synchronization mechanism.
...
R=rsc
DELTA=25 (19 added, 1 deleted, 5 changed)
OCL=17346
CL=17346
2008-10-17 10:58:34 -07:00
Russ Cox
925454e932
make sure errchk only says BUG once,
...
so that run's count is correct
R=iant,r
DELTA=20 (12 added, 0 deleted, 8 changed)
OCL=17329
CL=17342
2008-10-17 07:41:18 -07:00
Robert Griesemer
61d9a3c3b0
- stronger syntax checks
...
- fixed a bug with non-eof terminated //-style comments
- collecting comments
- first experiments with reproducing comments
(works but not very pretty, disabled for now)
- idempotent for all correct .go files we have checked in
R=r
OCL=17333
CL=17333
2008-10-16 23:30:42 -07:00
Robert Griesemer
c4f9f369a6
- added test script
...
- fixed a couple of printing bugs
status: parses, reproduces, and idempotently reproduces all correct .go files
R=r
OCL=17332
CL=17332
2008-10-16 19:24:33 -07:00
Rob Pike
060f157dc8
type string parser; now handles all types
...
R=rsc
DELTA=253 (153 added, 81 deleted, 19 changed)
OCL=17331
CL=17331
2008-10-16 18:09:38 -07:00
Russ Cox
7cb6b6788c
new convert code found error
...
R=r
OCL=17327
CL=17327
2008-10-16 16:51:12 -07:00
Rob Pike
32b84d5a94
parsing of type strings. still missing: func, struct, interface, chan
...
R=rsc
DELTA=366 (337 added, 7 deleted, 22 changed)
OCL=17321
CL=17324
2008-10-16 16:38:33 -07:00
Russ Cox
1163b1db6f
diagnose various conversion problems
...
R=ken
OCL=17320
CL=17320
2008-10-16 15:59:31 -07:00
Robert Griesemer
bc641d1e9c
- more robust TokenString implementation
...
R=r
OCL=17319
CL=17319
2008-10-16 15:28:36 -07:00
Robert Griesemer
71696ac048
clarification of conversion rules for ideal numbers
...
R=r
DELTA=21 (11 added, 1 deleted, 9 changed)
OCL=17316
CL=17316
2008-10-16 15:03:22 -07:00
Robert Griesemer
3c9b817257
snapshot:
...
- typeguards, var decls, several printing bug fixed
- now fully idempotent on many files (which are accepted by 6g afterwards)
- still some detail issues
R=r
OCL=17310
CL=17310
2008-10-16 14:25:23 -07:00
Russ Cox
493a9d2f42
put toplevel & check back and add test
...
R=ken
OCL=17307
CL=17307
2008-10-16 14:02:20 -07:00
Ken Thompson
2e4b8d94cd
diagnosed some incorrect
...
inputs for method receivers.
R=r
OCL=17304
CL=17304
2008-10-16 13:29:03 -07:00
Robert Griesemer
b705ac6cf5
- composites, receivers, various add. checks
...
R=r
OCL=17295
CL=17295
2008-10-16 12:16:50 -07:00
Rob Pike
082f116b2d
Change file name from "print" to "tostring" and update the rest.
...
R=rsc
DELTA=225 (109 added, 107 deleted, 9 changed)
OCL=17294
CL=17294
2008-10-16 11:19:48 -07:00
Rob Pike
e5c114eff8
convert print to ToString.
...
file name change in next round.
R=rsc
DELTA=71 (18 added, 19 deleted, 34 changed)
OCL=17291
CL=17293
2008-10-16 11:12:02 -07:00
Robert Griesemer
a09b7fdd6c
snapshot:
...
- fallthrough stat, label decls
- improved printing layout
R=r
OCL=17283
CL=17283
2008-10-16 10:16:59 -07:00
Russ Cox
59167e5bdb
diagnose export of incomplete type
...
R=ken
OCL=17253
CL=17253
2008-10-15 17:51:23 -07:00
Rob Pike
801f542b0f
remove hack now that vector of int works.
...
R=rsc
DELTA=9 (0 added, 3 deleted, 6 changed)
OCL=17248
CL=17250
2008-10-15 17:20:37 -07:00
Ken Thompson
8973e1ffb7
basic types/interfaces test
...
R=r
OCL=17247
CL=17247
2008-10-15 17:15:47 -07:00
Robert Griesemer
237eea4ea5
- updated makefile for gccgo
...
R=r
OCL=17243
CL=17245
2008-10-15 17:13:00 -07:00
Rob Pike
693a31b88e
reflection type structure. no parsing etc. yet.
...
main is a simple tester outside the Makefile.
R=rsc
DELTA=455 (455 added, 0 deleted, 0 changed)
OCL=17235
CL=17242
2008-10-15 17:11:51 -07:00
Russ Cox
7cd173a4f8
error about & at top level until it is safe
...
R=ken
OCL=17241
CL=17241
2008-10-15 17:09:42 -07:00
Ken Thompson
1bf38484d1
interface on arbitrary types
...
global signatures for basic types
R=r
OCL=17238
CL=17240
2008-10-15 17:08:10 -07:00
Robert Griesemer
6b49713df5
snapshot of pretty printer:
...
- almost there, receivers, labels, composites, comments are not yet printed
- runs through 18KLOC of Go code and prints it again
R=r
OCL=17237
CL=17237
2008-10-15 17:06:28 -07:00
Rob Pike
13508ceabe
bug is fixed
...
R=ken
OCL=17208
CL=17208
2008-10-15 11:49:34 -07:00
Robert Griesemer
82fbbdfc7d
snapshot
...
- fixed expression and statement printing
- missing: declarations, comments
R=r
OCL=17207
CL=17207
2008-10-15 11:48:18 -07:00
Rob Pike
84523402fc
Make regexp build and install officially
...
R=rsc
DELTA=335 (172 added, 156 deleted, 7 changed)
OCL=17167
CL=17180
2008-10-14 22:16:45 -07:00
Rob Pike
151c0de8bc
update bug list
...
R=ken
OCL=17169
CL=17169
2008-10-14 19:41:05 -07:00
Rob Pike
69baaa9751
move regexp to lib
...
next cl will update names and add to build
R=rsc
DELTA=1876 (938 added, 938 deleted, 0 changed)
OCL=17149
CL=17166
2008-10-14 19:22:17 -07:00
Russ Cox
4248607ffe
simplify comma code per ken's suggestion
...
R=ken
OCL=17164
CL=17164
2008-10-14 18:47:24 -07:00
Robert Griesemer
7c3a2c47b0
- snapshot of pretty printer work
...
- accepts all Go code (use -s flag)
- complete rewrite of AST, AST building, and printing
(as a result much more compact)
- printing severely screwed up at the moment, but should be
fully working in 1 more day
R=r
DELTA=2118 (514 added, 980 deleted, 624 changed)
OCL=17161
CL=17161
2008-10-14 18:14:01 -07:00
Rob Pike
0b05e91f8b
add some tests
...
fix some bugs in () ordering and rune processing
R=rsc
DELTA=72 (27 added, 5 deleted, 40 changed)
OCL=17147
CL=17147
2008-10-14 17:45:49 -07:00
Russ Cox
82e41cc533
allow trailing comma in braced initialized list
...
R=ken
OCL=17141
CL=17143
2008-10-14 17:10:39 -07:00
Rob Pike
5933dbda3a
delete hack for interface equality now that it supported by the 6g compiler
...
R=rsc
DELTA=21 (0 added, 21 deleted, 0 changed)
OCL=17123
CL=17136
2008-10-14 16:33:11 -07:00
Rob Pike
75df21ceff
implement matching
...
clean up interface equality hack
still needs more tests; checking in for gccgo testing
R=rsc
DELTA=304 (261 added, 14 deleted, 29 changed)
OCL=17128
CL=17135
2008-10-14 16:32:43 -07:00
Ken Thompson
e2e8aa0ee1
interface equality (strings specifically)
...
R=r
OCL=17134
CL=17134
2008-10-14 16:10:44 -07:00
Ken Thompson
edb1412c50
interface equality
...
R=r
OCL=17116
CL=17118
2008-10-14 15:08:23 -07:00