Russ Cox
08ca30bbfa
change *map to map; *chan to chan; new(T) to new(*T)
...
fix bugs left over from *[] to [] conversion.
TBR=r
OCL=21576
CL=21581
2008-12-19 03:05:37 -08:00
Robert Griesemer
a456463891
- changed my scanner/parser to accept new channel syntax
...
R=r
OCL=15439
CL=15439
2008-09-17 13:05:39 -07:00
Robert Griesemer
0ba1db7475
- fixed missing return issues
...
R=r
OCL=15168
CL=15168
2008-09-11 15:38:22 -07:00
Robert Griesemer
478090851b
- adjust my code and tests to new function syntax
...
R=r
OCL=14939
CL=14941
2008-09-08 13:26:52 -07:00
Robert Griesemer
30aa83ca6e
- adjusted my submitted code to work with latest compiler changes
...
R=r
OCL=14734
CL=14734
2008-09-02 17:26:00 -07:00
Robert Griesemer
683ded80c9
- changed go-in-go parser to require ()'s for panic and print
...
- adjusted much of the existing go code
- missing: tests
R=r
DELTA=229 (1 added, 17 deleted, 211 changed)
OCL=14103
CL=14103
2008-08-11 21:20:42 -07:00
Robert Griesemer
58ba20b5a2
- allow reserved words as field and method names
...
R=r
OCL=14102
CL=14102
2008-08-11 20:40:37 -07:00
Robert Griesemer
40c93a5238
- experiments with forward-declaring types of non-imported packages
...
- adjusted switch syntax (no repeated case: case: anymore)
- enabled some constant expressions that work now
R=r
OCL=14098
CL=14098
2008-08-11 18:44:41 -07:00
Robert Griesemer
c7fb27f6e4
- more steps towards automatic recursive compilation of dependencies
...
- make forward declarations of types match 6g
- better factoring
R=r
OCL=14059
CL=14059
2008-08-11 09:45:40 -07:00
Robert Griesemer
bc13a1a374
first primitive cut at resolving missing imports automatically:
...
if an import file is missing, the corresponding source
is compiled automatically, if found
R=r
OCL=13990
CL=13990
2008-08-07 19:32:22 -07:00
Robert Griesemer
882ac63885
- implement scanner token stream via channel
...
- change test_scanner to scan using both methods
- add -pscan flag to Go front-end to choose between conventional
synchronous or parallel asynchronous scanning
R=r
OCL=13937
CL=13937
2008-08-06 18:57:37 -07:00
Robert Griesemer
333b70bee0
snapshot of today's changes - more semantic tests
...
R=r
OCL=13932
CL=13932
2008-08-06 17:26:46 -07:00
Robert Griesemer
687f387c0b
- added more semantic checks - more to come
...
- distinguish float/int literals syntactically
- fixed a tracing bug
R=r
OCL=13906
CL=13906
2008-08-05 18:52:37 -07:00
Robert Griesemer
28547615ce
- fixed another export bug
...
- more self-verification code
R=r
OCL=13894
CL=13894
2008-08-05 15:20:58 -07:00
Robert Griesemer
7a799be49a
- switch to new export syntax
...
- deprecate old syntax in this front-end (use -6g for compatibility)
R=r
OCL=13831
CL=13833
2008-08-04 15:37:47 -07:00
Robert Griesemer
997a94294f
- import/export cleanup: added comments, removed dead code, re-org structure
...
R=r
OCL=13816
CL=13816
2008-08-04 13:27:05 -07:00
Robert Griesemer
71d50b8bf9
- more import/export stuff
...
- use new export syntax
R=r
OCL=13807
CL=13807
2008-08-04 10:19:36 -07:00
Robert Griesemer
c6eb85aecf
- simplified handling of primary types (types w/ names which must
...
be canonicalized upon import)
- missed some exports
R=r
OCL=13733
CL=13733
2008-08-01 14:50:18 -07:00
Robert Griesemer
0abbb8c76b
more import/export stuff:
...
- no need to import/export predeclared types
- fix for receiver types
- cleanups
- added tests to Makefile
R=r
OCL=13728
CL=13730
2008-08-01 13:33:31 -07:00
Robert Griesemer
9761a6d069
- backward link from objs to containing scope
...
(first step towards cleaner package handling)
- check that map, function, and channel vars are pointers
R=r
OCL=13690
CL=13690
2008-07-31 13:35:30 -07:00
Robert Griesemer
0c374e9f89
- fixed a bug w/ exports (wrong package info)
...
- keep track of type alias (type T1 T0) so we can print the proper type name
R=r
OCL=13688
CL=13688
2008-07-31 10:47:10 -07:00
Robert Griesemer
6dd92ea6cb
- fixed import bug (import "...")
...
- better debugging support
- removed dead code
R=r
OCL=13680
CL=13680
2008-07-30 21:26:15 -07:00
Robert Griesemer
1f46513917
various fixes:
...
- missing return in import code
- proper propagation of flags to various components
- better error message when source position is missing
- cleanups
R=r
OCL=13676
CL=13676
2008-07-30 17:36:03 -07:00
Robert Griesemer
6acdf3edff
- addded interface pretty printer
...
R=r
OCL=13646
CL=13646
2008-07-30 13:01:28 -07:00
Robert Griesemer
4b0b7d8dfe
- import and export code, bug fixes
...
- almost back to where I was in C++, but now all in Go
R=r
OCL=13627
CL=13627
2008-07-29 19:02:49 -07:00
Robert Griesemer
fce9118610
- handling of pointer forward decls
...
- some comments added to bug cases
- added notes
R=r
OCL=13543
CL=13543
2008-07-29 12:03:06 -07:00
Robert Griesemer
5fc7919147
Experiments with "export":
...
Allow "export" keyword in front of a declaration. Semantics:
export *top-level* identifiers declared (but not the fields
of a struct type for instance).
R=r
OCL=13464
CL=13464
2008-07-25 11:27:13 -07:00
Robert Griesemer
cf4c37cac3
- more work on SimpleStat production
...
R=r
OCL=13461
CL=13461
2008-07-25 09:35:03 -07:00
Robert Griesemer
f03deb339a
- fixed several parser issues
...
R=r
OCL=13441
CL=13441
2008-07-24 17:00:58 -07:00
Robert Griesemer
fda1d16935
- parsing support for composite literals
...
R=r
OCL=13394
CL=13394
2008-07-23 16:59:06 -07:00
Robert Griesemer
b0ada5ddf7
- more work on semantic checks - not yet enabled by default
...
R=r
OCL=13391
CL=13391
2008-07-23 16:04:11 -07:00
Robert Griesemer
5a90ede8a4
- scanner returns now triple (tok, tok_pos, tok_val)
...
- initial try-out of AST data structures
- removed test_parser (not working anymore - parser needs more infrastructure)
SVN=128089
2008-07-18 17:18:29 -07:00
Robert Griesemer
c3e9c7d106
- more front-end stuff: hooking up packages, preparing for exports
...
SVN=127931
2008-07-17 18:02:10 -07:00
Robert Griesemer
85303f2715
- moved struct Compilation into globals.go, adjusted deps
...
- bail out after > 10 errors
- fixed send/recv statements
SVN=127890
2008-07-17 15:11:46 -07:00
Robert Griesemer
0e67654f94
- changed channel operators
...
- more work on packages
SVN=127671
2008-07-16 17:00:48 -07:00
Robert Griesemer
a6f87794ff
- added more code (package, export, compilation)
...
- first cut at semantic checks (disabled)
SVN=127348
2008-07-15 15:37:14 -07:00
Robert Griesemer
0cee302802
- func reorg to reduce forward decls and improve structure
...
SVN=127229
2008-07-15 10:05:17 -07:00
Robert Griesemer
d9d5f3b3bc
- fixed issue with parsing function literals in statement lists
...
SVN=127218
2008-07-15 09:22:20 -07:00
Robert Griesemer
230230c880
- no column info in error messages for Rob
...
- fixed parsing of function literals
- added first round of scope handling
SVN=127124
2008-07-14 18:06:41 -07:00
Robert Griesemer
ae905980e7
- fixed bug in parser.go
...
- added more tests
SVN=126784
2008-07-10 20:50:38 -07:00
Robert Griesemer
afbf717eeb
- created new dir (gosrc) for go-based front-end
...
- adjusted makefiles
SVN=126763
2008-07-10 18:05:00 -07:00