Commit Graph

1729 Commits

Author SHA1 Message Date
Russ Cox e8b43190bb clarify conversions vs type guards.
allow conversions between equal types.

R=r
DELTA=15  (4 added, 4 deleted, 7 changed)
OCL=25618
CL=25630
2009-03-03 08:10:25 -08:00
Robert Griesemer d169268a1a scanner cleanup - getting it ready to as a library
- removed unneeded code that accumulated over time
- change src from string to []byte (perhaps should be io.Read
but that has some other disadvantages)
- simplified interface

R=r
OCL=25615
CL=25615
2009-03-02 20:27:09 -08:00
Rob Pike da34bea950 redo poor example of slices.
R=rsc
OCL=25614
CL=25614
2009-03-02 20:17:12 -08:00
Rob Pike da38974c88 address most of the editorial comments through "types"
R=rsc
DELTA=41  (9 added, 4 deleted, 28 changed)
OCL=25611
CL=25611
2009-03-02 19:13:40 -08:00
Robert Griesemer ea3d4540b3 - itob
- more test cases

R=rsc
DELTA=97  (52 added, 4 deleted, 41 changed)
OCL=25585
CL=25607
2009-03-02 17:52:58 -08:00
Rob Pike 426335f87b delete paragraph about unimplemented select-on-type feature.
change () to {} in all composite literals

DELTA=20  (0 added, 7 deleted, 13 changed)
OCL=25604
CL=25606
2009-03-02 17:52:52 -08:00
Rob Pike 4659685b8f Packages.
DELTA=170  (73 added, 21 deleted, 76 changed)
OCL=25556
CL=25594
2009-03-02 16:17:29 -08:00
Russ Cox e9b40580ba fix names: s/fd/r/
R=r
DELTA=9  (0 added, 0 deleted, 9 changed)
OCL=25593
CL=25593
2009-03-02 16:12:04 -08:00
Rob Pike 96750f130c most of the rest.
only the package section is untouched.

R=gri
DELTA=542  (186 added, 70 deleted, 286 changed)
OCL=25485
CL=25532
2009-02-27 16:47:48 -08:00
Robert Griesemer fadf159a81 fix a bug: do not print a ';' after a label if there wasn't one
R=r
OCL=25526
CL=25528
2009-02-27 16:28:36 -08:00
Robert Griesemer 3689e221e8 Steps towards a general scanner/parser library for Go:
- converted more of AST and parser to use interfaces and explicit
structs for individual Go constructs (can be replaced now with
interface calls such that the parser becomes AST structure
independent, as suggested by rsc)
- added more tests (find all .go files under GOROOT)
- (temporarily) lost html links for identifiers when generating
html output
- TODO: lots of cleanups

R=r
OCL=25518
CL=25518
2009-02-27 15:40:17 -08:00
Rob Pike df3183f528 finish types.
expressions.  (they were in pretty good shape; mostly cosmetic and HTML edits)

R=gri
DELTA=655  (226 added, 97 deleted, 332 changed)
OCL=25459
CL=25481
2009-02-26 16:37:23 -08:00
Robert Griesemer f88c6c136c fixed a typo
R=r
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=25449
CL=25449
2009-02-25 16:58:57 -08:00
Rob Pike 88b1f8594a bug130 is fixed
R=ken
OCL=25448
CL=25448
2009-02-25 16:31:42 -08:00
Rob Pike 8f2330dd7a Continue editing types section.
Do a little work polishing the "zero value" discussion.

R=gri
DELTA=486  (129 added, 120 deleted, 237 changed)
OCL=25392
CL=25444
2009-02-25 16:20:44 -08:00
Rob Pike cdbf619750 complete types
R=gri
DELTA=29  (0 added, 12 deleted, 17 changed)
OCL=25388
CL=25391
2009-02-24 17:47:45 -08:00
Rob Pike a49305df1d text and formatting are now folded into go_spec; delete
OCL=25292
CL=25383
2009-02-24 15:18:21 -08:00
Rob Pike 5af7de3fe3 Updated the section on Types.
Moved assignment compatibility to its own small section. Although most rules are type-specific,
some are not and it reduces redundancy to combine them.
Also, more experimentally, wrote a section on comparison compatibility.

R=gri
DELTA=382  (125 added, 122 deleted, 135 changed)
OCL=25355
CL=25382
2009-02-24 15:17:59 -08:00
Ken Thompson 751d13cbce bug 130 (go/defer) interface.method()
R=r
OCL=25356
CL=25356
2009-02-23 22:43:04 -08:00
Rob Pike a9ed30ff37 Move Types before Declarations and Scopes.
This is the only change in this CL: only rearrangement, no content change, so subsequent edits will be easier to understand.

R=gri
OCL=25353
CL=25353
2009-02-23 19:26:07 -08:00
Rob Pike f27e9f072d Work on declarations, unsafe, alignment.
Change <tt> to <code>

R=gri
DELTA=664  (222 added, 189 deleted, 253 changed)
OCL=25294
CL=25352
2009-02-23 19:22:05 -08:00
Robert Griesemer 6ddc48b84a - fixed a bug with //-comment parsing
R=r
OCL=25343
CL=25343
2009-02-23 17:16:55 -08:00
Rob Pike ce2bc3aabc add logo to documentation directory.
R=rsc
OCL=25293
CL=25293
2009-02-22 15:39:50 -08:00
Ken Thompson a665e2924c bug with select :=
R=r
OCL=25278
CL=25278
2009-02-21 12:41:34 -08:00
Russ Cox 82c38cf8dd draft of memory model.
R=tgs
DELTA=545  (545 added, 0 deleted, 0 changed)
OCL=25212
CL=25268
2009-02-20 15:35:20 -08:00
Rob Pike ff70f09d27 Rewrite lexical section.
Put grammar productions into a box with a separate background color.

R=gri
DELTA=397  (132 added, 49 deleted, 216 changed)
OCL=25235
CL=25258
2009-02-20 13:36:14 -08:00
Rob Pike fd1f3830c1 autogenerate the table of contents
R=rsc
DELTA=149  (1 added, 145 deleted, 3 changed)
OCL=25231
CL=25234
2009-02-19 19:49:56 -08:00
Rob Pike 4501d348e8 Fix most HTML errors.
Cut introduction.
Start rewrite.

R=gri
DELTA=201  (20 added, 118 deleted, 63 changed)
OCL=25226
CL=25229
2009-02-19 17:31:36 -08:00
Robert Griesemer c2d5586c76 go_spec.txt formatted in html.
No textual changes except for html formatting.
Seems like a fine intermediate step.

R=r
DELTA=7638  (4079 added, 3559 deleted, 0 changed)
OCL=25211
CL=25224
2009-02-19 16:49:10 -08:00
Robert Griesemer 4137f02bb7 - permit ()'s in types (TODO: update spec)
- accept embedded interfaces in interfaces
- missing: output incorrect, but at least all source code is accepted again

R=r
OCL=25223
CL=25223
2009-02-19 16:47:58 -08:00
Rob Pike 3d50b1e0e8 Finish the lexical section.
DELTA=176  (172 added, 0 deleted, 4 changed)
OCL=25182
CL=25222
2009-02-19 16:20:00 -08:00
Rob Pike d1107adb52 First piece of Go reference manual.
R=ken,gri,rsc
DELTA=185  (185 added, 0 deleted, 0 changed)
OCL=25133
CL=25169
2009-02-18 15:39:51 -08:00
Russ Cox ebc10db3e1 allow parens to disambiguate types.
examples:

	chan <- (chan int)
	chan (<- chan int)
	(map[string]func())("a": main)

R=ken
OCL=25151
CL=25151
2009-02-18 10:07:46 -08:00
Rob Pike 6950491b4f drop trailing slashes - missed comment from last review
TBR=rsc
OCL=25135
CL=25135
2009-02-17 19:59:23 -08:00
Rob Pike 03d6909ff7 more fun with triv.go: flags and arguments
R=rsc
DELTA=23  (23 added, 0 deleted, 0 changed)
OCL=25088
CL=25134
2009-02-17 19:35:01 -08:00
Russ Cox d0424faf17 few more Sizeof.
R=r
DELTA=3  (0 added, 1 deleted, 2 changed)
OCL=25106
CL=25106
2009-02-17 13:40:28 -08:00
Ken Thompson 3c0fc400fb fix unsafe.Sizeof("abc")
R=rsc
OCL=25105
CL=25105
2009-02-17 13:10:57 -08:00
Rob Pike 575257d503 use proper strconv in string values.
make test a little stronger.

R=rsc
DELTA=94  (27 added, 39 deleted, 28 changed)
OCL=25085
CL=25087
2009-02-16 21:55:37 -08:00
Russ Cox c19468d8df comment nit
R=r
DELTA=2  (0 added, 2 deleted, 0 changed)
OCL=25081
CL=25084
2009-02-16 20:44:29 -08:00
Russ Cox eb3823a44d allow hex, octal in Atoi, etc.
R=r
DELTA=169  (79 added, 23 deleted, 67 changed)
OCL=25079
CL=25083
2009-02-16 20:44:21 -08:00
Russ Cox 9e3e61627d proposed XML parser design.
inspired by expat's callback interface,
but a bit simpler thanks to go interfaces.

also serves as reference notes about XML.

the parser itself is unimplemented.

not in Makefiles, though it does build.

R=r
DELTA=425  (425 added, 0 deleted, 0 changed)
OCL=25077
CL=25080
2009-02-16 20:14:21 -08:00
Rob Pike bbc190b3ee make interface to the flags themselves more public.
add visitor functions to scan the flags.
add a way to set a flag.
add a flag test.

R=rsc
DELTA=169  (99 added, 19 deleted, 51 changed)
OCL=25076
CL=25078
2009-02-16 19:43:15 -08:00
Russ Cox d3d0c256be bug123
R=ken
OCL=25075
CL=25075
2009-02-16 17:44:05 -08:00
Russ Cox aa35aee07c fix build - missed this file before
TBR=r
OCL=25074
CL=25074
2009-02-16 17:07:11 -08:00
Russ Cox dfad8ea647 use embedded interface types
R=r
DELTA=205  (1 added, 157 deleted, 47 changed)
OCL=25071
CL=25073
2009-02-16 16:37:49 -08:00
Russ Cox b4af09ab56 embedded interface types in interfaces.
R=ken
OCL=25072
CL=25072
2009-02-16 16:36:18 -08:00
Russ Cox 78906c3836 io.Pipe
assorted underscore cleanup

R=r
DELTA=488  (410 added, 3 deleted, 75 changed)
OCL=25070
CL=25070
2009-02-16 16:32:30 -08:00
Russ Cox ff3173849e assorted changes:
- use a lock instead of a thread in once
		avoids deadlock in recursive once calls
	- implement os.Setenv
	- remove "export" from some scripts
	- remove _ from names in time package
	- fix time test for non-MTV machines

R=r
DELTA=265  (87 added, 58 deleted, 120 changed)
OCL=25057
CL=25057
2009-02-15 22:12:35 -08:00
Rob Pike 55d13cf139 change the URL in the test to avoid a redirection that breaks it in sydney.
R=rsc
OCL=25054
CL=25054
2009-02-15 19:58:00 -08:00
Russ Cox 91ceda5c18 add os.ForkExec, os.Exec, os.Wait, exec.OpenCmd.
as thread-safe as possible, given the surrounding system.
add stub RWLock implementation.

R=r
DELTA=852  (834 added, 6 deleted, 12 changed)
OCL=25046
CL=25053
2009-02-15 19:35:52 -08:00