1
0
mirror of https://github.com/golang/go synced 2024-11-27 01:41:23 -07:00
Commit Graph

3281 Commits

Author SHA1 Message Date
Robert Griesemer
0976e34d65 Composite literal syntax.
R=r
DELTA=25  (14 added, 2 deleted, 9 changed)
OCL=14750
CL=14753
2008-09-03 13:37:44 -07:00
Robert Griesemer
354be785c6 - removed 'iota' from the keyword list
- added missing operators

R=r
OCL=14672
CL=14672
2008-08-29 17:16:47 -07:00
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
Rob Pike
8c1408dd8e Add select statement
SVN=114147
2008-03-27 21:42:25 -07:00
Rob Pike
e118551c29 Fix date stamp
SVN=114123
2008-03-27 17:19:52 -07:00
Rob Pike
4c483aa159 Explain goto constraints.
Add description of 'any'.
Simplify and complete syntax for literals.

SVN=114122
2008-03-27 17:19:17 -07:00
Rob Pike
67aafa6f57 update document. todo still: array and map literals; syntax for basic literals.
SVN=113815
2008-03-25 23:53:07 -07:00
Robert Griesemer
6caad961fe - added extra escaped chars
SVN=113258
2008-03-19 21:20:25 -07:00
Rob Pike
e4ca60eca7 change Main, Init to lower case.
make new() take an optional expression, not expression list.
add an example for new().

SVN=112895
2008-03-17 19:05:07 -07:00
Rob Pike
65348a89b8 SVN=112717 2008-03-16 21:47:38 -07:00
Robert Griesemer
e31ee76dcb - fixed typo in go_lang.txt
- changed go.atg to make optional semicolons work for statements
- expanded a test case

SVN=112242
2008-03-12 13:12:40 -07:00
Rob Pike
8152cb8a71 examples contradicted text: '\octal' and '\hex' are fixed size
SVN=112150
2008-03-11 20:40:20 -07:00
Robert Griesemer
0d1e90be17 - added 'nil' keyword to lang doc
(did not add 'true' and 'false' because I think these don't need to be
  keywords, they can be recreated from whole cloth)
- added 'new' syntax to expressions
  (this is needed because of the type as 1st argument - the expression
  list is probably not yet implemented, but I think we may want it
  eventually)
- removed optional ';'s in sieve example - make it more concise
- fixed several bugs in go.atg, no parses sieve
- added sieve as test case

SVN=112135
2008-03-11 18:07:22 -07:00
Robert Griesemer
78e4320fdc - changed if/switch initial stat syntax to match go compiler and make
it consistent
- changed declaration syntax to match go compiler

SVN=112122
2008-03-11 16:40:47 -07:00
Robert Griesemer
7acb294d58 - replaced 's in productions everywhere with "s (we were inconsistent in
some places)
- removed extra []'s around switch decl/tag expression - not needed

SVN=112117
2008-03-11 16:02:46 -07:00
Robert Griesemer
213702a3e6 - removed CompoundStat in favor of Block
SVN=112111
2008-03-11 14:37:16 -07:00
Robert Griesemer
8b212f67ff - attemp to correct statement syntax
- introduced FieldDeclList and MethodDeclList
  in consistency with other lists
- made labels declarations

SVN=111982
2008-03-10 16:23:01 -07:00
Rob Pike
2aae3fcbaf fix grammar for struct and interface types to make final semicolon optional
SVN=111810
2008-03-07 18:01:09 -08:00
Robert Griesemer
e6626dafa8 - get rid of Designator terminology
SVN=111696
2008-03-06 23:06:05 -08:00
Robert Griesemer
1cf631b4c7 - added missing ''''s
SVN=111693
2008-03-06 22:40:49 -08:00
Rob Pike
194ed070de fix a few nits in the typography so HTML is right
SVN=111691
2008-03-06 22:14:17 -08:00
Robert Griesemer
f27e5df49c - fixed double-definition of StructType
SVN=111689
2008-03-06 22:11:51 -08:00
Robert Griesemer
b1d991d6fd - more grammar fixes
SVN=111688
2008-03-06 21:50:28 -08:00
Robert Griesemer
5009237adb - fixed a couple of grammar errors
SVN=111685
2008-03-06 21:24:57 -08:00
Rob Pike
250767174b add HTML formatting; use
/home/sanjay/bin/makehtml --mode=document go_lang.txt
to generate the html output.

SVN=111681
2008-03-06 19:40:52 -08:00
Robert Griesemer
bbced02490 - updated docs
SVN=111669
2008-03-06 18:57:03 -08:00
Robert Griesemer
28590a0abb - updated docs
SVN=111539
2008-03-05 23:00:44 -08:00
Robert Griesemer
719a06fd97 - renamed todo -> todo.txt
- deleted obsolote go_spec

SVN=111358
2008-03-04 22:23:23 -08:00
Robert Griesemer
73823d236a - added new, revised spec
- updated todo

SVN=111357
2008-03-04 22:18:16 -08:00
Robert Griesemer
266b9d49bf - added language for range statement
SVN=111200
2008-03-03 23:08:28 -08:00
Robert Griesemer
328df636c5 - added language for map and channel types
- added clarifications about function types
- added open issues section

SVN=111045
2008-03-02 23:02:36 -08:00
Robert Griesemer
18c5b488a3 Go spec starting point.
SVN=111041
2008-03-02 20:47:34 -08:00