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