1
0
mirror of https://github.com/golang/go synced 2024-11-12 07:00:21 -07:00
Commit Graph

79 Commits

Author SHA1 Message Date
Robert Griesemer
df49fb3dc3 - Preliminary draft of what might become a real spec
- All text taken from go_lang.txt (which is unchanged),
but added a contents section, and sorted the contents
section in a hopefully sensible manner to give it more
structure
- Reordered text to match order of contents section,
did not adjust the language (needs to be done),
but removed sections that were dulicates or invalid

High-level organization of the doc:
- Introduction
- Notation
- Source code representation
- Vocabulary
- Declarations and scope rules
- Types
- Expressions
- Statements
- Function declarations
- Packages
- Program initialization and execution

I hope this new structure will make it much clearer which
pieces are missing and where they need to go. go_lang.txt
has grown somewhat unstructured and new text was added as
we saw fit.

R=r
DELTA=2577  (2577 added, 0 deleted, 0 changed)
OCL=14639
CL=14639
2008-08-28 17:47:53 -07:00
Robert Griesemer
2d697d67dc clarify pointer forward decls per ian's suggestion
R=r
DELTA=13  (3 added, 7 deleted, 3 changed)
OCL=14406
CL=14406
2008-08-21 17:18:01 -07:00
Robert Griesemer
2dabb6525a - explained function and method pointers
- removed need for method types and literals
(gri & r)

R=r
DELTA=178  (101 added, 51 deleted, 26 changed)
OCL=14402
CL=14405
2008-08-21 16:55:38 -07:00
Robert Griesemer
c2c49bec77 added scope rules, removed TODO
R=r
DELTA=26  (19 added, 0 deleted, 7 changed)
OCL=14358
CL=14386
2008-08-21 11:00:26 -07:00
Robert Griesemer
bb05942638 updated section on reserved words
R=r
DELTA=44  (27 added, 2 deleted, 15 changed)
OCL=14353
CL=14355
2008-08-20 16:32:00 -07:00
Rob Pike
9b1e6fddba fix one syntax error in declaration.
reformat the bullet list about strings

R=gri
OCL=14128
CL=14128
2008-08-12 13:21:49 -07:00
Rob Pike
68fb2d04d0 use tabs for indentation consistently
R=gri
OCL=14125
CL=14125
2008-08-12 11:38:34 -07:00
Rob Pike
f97832e4c2 New words regarding constants
R=gri,ken
DELTA=64  (42 added, 3 deleted, 19 changed)
OCL=14116
CL=14124
2008-08-12 11:20:34 -07:00
Robert Griesemer
fe582137f4 - removed fall-through for case: case: in switch statements
- added ()'s to all print calls in examples
- augmented rule about use of identifiers

R=r
DELTA=11  (0 added, 1 deleted, 10 changed)
OCL=14097
CL=14097
2008-08-11 18:09:31 -07:00
Robert Griesemer
e3fc124640 revert specification of pointer types to current implementation
(do not allow explicit type forward declarations) and more clearly
specify resolution

R=r
DELTA=30  (9 added, 7 deleted, 14 changed)
OCL=13967
CL=13987
2008-08-07 17:15:10 -07:00
Robert Griesemer
2f4352a26d - switched most of existing Go code to new export syntax
- adjusted lang doc

R=r
DELTA=192  (26 added, 65 deleted, 101 changed)
OCL=13844
CL=13848
2008-08-04 17:17:59 -07:00
Rob Pike
84c8d85fe6 slices and string/array concatenation
OCL=13382
CL=13382
2008-07-23 11:22:30 -07:00
Rob Pike
f4dcf51846 document initialization
OCL=13369
CL=13369
2008-07-22 17:53:53 -07:00
Rob Pike
febbf82e8d fix some bad spaces
OCL=13363
CL=13363
2008-07-22 15:25:09 -07:00
Rob Pike
220edc48da Expand section on compound literals.
R=ken,gri
DELTA=31  (22 added, 0 deleted, 9 changed)
OCL=13351
CL=13362
2008-07-22 15:23:06 -07:00
Rob Pike
c1f5eda7a2 change date
OCL=13331
CL=13331
2008-07-21 18:06:39 -07:00
Rob Pike
777ee7163b map delete
SVN=128258
2008-07-21 16:18:04 -07:00
Rob Pike
7eb7ff2b36 new channel syntax
select cleans up too

SVN=127816
2008-07-17 10:47:32 -07:00
Rob Pike
1401c11008 improve the examples in the section on iota
SVN=127347
2008-07-15 15:27:31 -07:00
Robert Griesemer
6def94ad83 - added missing keyword 'iota'
SVN=126397
2008-07-08 16:01:10 -07:00
Rob Pike
c685e1b70d add a disclaimer
SVN=126379
2008-07-08 14:52:48 -07:00
Robert Griesemer
835cd46941 - first cut a Go parser in Go
SVN=126242
2008-07-07 17:27:14 -07:00
Robert Griesemer
de5442893d A small but powerful change in constant declarations. Proposal by ken
after some discussion about enums. Implementation should be trivial.
Wording in the doc should be improved, probably.

SVN=125946
2008-07-03 13:19:07 -07:00
Robert Griesemer
ceb01373bc - more minor fixes
SVN=125574
2008-07-01 17:18:28 -07:00
Robert Griesemer
bc8ef4d526 - minor update
SVN=125471
2008-07-01 09:02:04 -07:00
Robert Griesemer
8af8dff65b - updated doc
SVN=125468
2008-07-01 08:48:24 -07:00
Rob Pike
daebf91d2c fix up grammar for optional elements in if and switch conditions
SVN=122915
2008-06-16 12:02:27 -07:00
Robert Griesemer
a40a79829f - fixed minor issues in spec
- fixed a couple of bugs in the spec (pointed out by iant)

SVN=122479
2008-06-12 13:12:41 -07:00
Robert Griesemer
4ff63a4794 - updated spec w/ respect to variable types and shift operators
SVN=121774
2008-06-09 16:32:49 -07:00
Robert Griesemer
e92b753810 - fixed a few tests and added 3 incorrectly succeeding tests
- updated go_lang.txt to be more uniform and match the implementation
- made makehtml work on Mac
- fixed a couple of bugs in go.atg

SVN=121520
2008-06-06 15:53:14 -07:00
Robert Griesemer
896c8f4ecc - fixed a typo
SVN=120165
2008-05-27 17:09:40 -07:00
Rob Pike
d4aa5c0b45 add disclaimer, authors.
preparation for linking to p page

SVN=118969
2008-05-15 17:41:39 -07:00
Rob Pike
9119f55e6d add a couple of TODOs
fixed grammar for "Program"

SVN=118923
2008-05-15 14:13:44 -07:00
Robert Griesemer
aa533738c1 - changed compound type -> composite type
- eliminated 'structured type' terminology

SVN=118200
2008-05-08 21:21:09 -07:00
Rob Pike
b6b8da823d fix up the 'basic types' section. strings were missing
SVN=118198
2008-05-08 20:58:15 -07:00
Rob Pike
f4f588372d Clarify conversions, include making them constructors for arrays etc.
SVN=118194
2008-05-08 20:23:01 -07:00
Robert Griesemer
d222c65477 Introduced forward declaration of types per discussion with ken.
A forward-declared (or not yet fully defined) type must be used
to construct (mutually) recursive type declarations. This simplifies
the compiler and resolves the issue at which scope the forward-
declared type is to be declared.

SVN=117770
2008-05-06 10:29:17 -07:00
Rob Pike
f5c0763432 Explain about pointer types for mutually recursive structures.
SVN=117463
2008-05-01 23:51:33 -07:00
Rob Pike
5e391cff2c talk about short, int, long etc.
specify allowed conversions.

SVN=117458
2008-05-01 20:59:31 -07:00
Robert Griesemer
d4d19fad2f Fixed a typo (changed ' -> ") and shortened a production name slightly to match the naming convention elsewhere.
SVN=117446
2008-05-01 18:47:44 -07:00
Robert Griesemer
1975ff8b44 - completed syntax for import declarations
- fixed a typo

SVN=117439
2008-05-01 18:14:17 -07:00
Rob Pike
38c083c1ca Require names for return values for functions with complex return types.
SVN=117346
2008-05-01 00:01:45 -07:00
Robert Griesemer
50cea7038b - Added section on type equivalence
- Changed signature syntax: parameter names are always mandatory
- Minor white-space cosmetic changes

SVN=117240
2008-04-29 16:27:11 -07:00
Rob Pike
c1aba41194 fix description of iota to reflect reality.
SVN=117108
2008-04-28 16:19:59 -07:00
Rob Pike
f53db3eaa9 Add description of type conversions.
SVN=116978
2008-04-27 18:32:47 -07:00
Robert Griesemer
1265a0c22d - essentially reverted my change of yesterday with respect to char/string syntax
- fixed indentation in many places
- fixed a couple of typos

SVN=116120
2008-04-18 15:41:59 -07:00
Robert Griesemer
75bbce9e84 - added language to document .() notation
- propose change to char/string productions: I find this easier to read

SVN=116037
2008-04-17 19:06:33 -07:00
Rob Pike
a0d5d8089a Added discussion of new, nil, and initialization.
SVN=116022
2008-04-17 17:03:29 -07:00
Rob Pike
b806ba4d88 Add description of how compiling and linking handle dependencies.
SVN=115807
2008-04-15 16:43:06 -07:00
Rob Pike
e311457488 add script to generate .html from .txt
SVN=114148
2008-03-27 22:11:10 -07:00