1
0
mirror of https://github.com/golang/go synced 2024-11-18 04:34:52 -07:00
Commit Graph

2307 Commits

Author SHA1 Message Date
Robert Griesemer
b90b213e61 Updated spec:
- clarified constants and constant expressions
- clarified type of array composite literals (fixed vs open arrays)
- clarified type of map composite literals (need to use '&' to get
  a map pointer)
- added proposal for "if-else" (TBD)
- added TODO w/ respect to "x, ok = <-ch" (and for arrays)

R=r
DELTA=51  (35 added, 0 deleted, 16 changed)
OCL=15573
CL=15575
2008-09-19 15:49:55 -07:00
Robert Griesemer
6a0fb60866 - added item to TODO list in go_spec
- filed a bug

R=r
OCL=15517
CL=15517
2008-09-18 23:16:22 -07:00
Robert Griesemer
2902a82ca4 adjusted doc to incorporate new channel notation
(still a couple of TODO's with respect to the new
notation).

R=r
DELTA=71  (10 added, 11 deleted, 50 changed)
OCL=15419
CL=15443
2008-09-17 13:57:11 -07:00
Rob Pike
f7a506bf42 tutorial code:
tweak a program or two
delete unused programs
add shell script to run them all

R=gri
DELTA=213  (62 added, 147 deleted, 4 changed)
OCL=15435
CL=15437
2008-09-17 12:14:52 -07:00
Rob Pike
592d2e3d8d update to new communications syntax
R=gri
OCL=15417
CL=15417
2008-09-16 19:40:38 -07:00
Rob Pike
6820196b75 section on service multiplexing
R=gri
DELTA=75  (57 added, 4 deleted, 14 changed)
OCL=15394
CL=15398
2008-09-16 13:14:44 -07:00
Rob Pike
db9002f152 replace 235 with sieve - less problematic
add programs, not yet described, to demonstrate servers.

R=gri
DELTA=279  (177 added, 16 deleted, 86 changed)
OCL=15380
CL=15389
2008-09-16 11:00:11 -07:00
Rob Pike
a43033a315 develop interfaces through cats
sort
2,3,5

R=gri
DELTA=648  (647 added, 0 deleted, 1 changed)
OCL=15315
CL=15352
2008-09-15 11:48:37 -07:00
Rob Pike
6693730e77 next section: i/o package that has structs, methods
R=gri
DELTA=137  (134 added, 0 deleted, 3 changed)
OCL=15251
CL=15259
2008-09-12 16:03:16 -07:00
Robert Griesemer
c8e18767e8 - hopefully improved language on label scopes
R=r
DELTA=18  (12 added, 0 deleted, 6 changed)
OCL=15200
CL=15240
2008-09-12 12:26:22 -07:00
Robert Griesemer
e28ccebd3a - simplified the ideal number terminology for better readability
R=r
DELTA=24  (0 added, 10 deleted, 14 changed)
OCL=15188
CL=15188
2008-09-11 18:23:28 -07:00
Robert Griesemer
ad71110669 - rewrote section on numeric literals (grammar easier to read,
separate between ints and floats, added language regarding the
type of numeric literals)
- added language with respect to the scope of labels
- introduced ideal types for the purpose of the spec
- added language to expressions, operands
- added some more formal language about ideal type conversion
  (probably not 100% correct yet)

R=r
DELTA=145  (69 added, 4 deleted, 72 changed)
OCL=15165
CL=15186
2008-09-11 17:48:20 -07:00
Rob Pike
c7ebfed655 add sections about types and constants
R=gri
DELTA=133  (124 added, 0 deleted, 9 changed)
OCL=15122
CL=15143
2008-09-11 10:21:02 -07:00
Rob Pike
27a56171c9 growing the tutorial
R=gri
OCL=15115
CL=15115
2008-09-10 17:11:04 -07:00
Ian Lance Taylor
203b55e319 Eliminate duplication of MethodDecl nonterminal by renaming
the one associated with interface types.

R=gri
DELTA=3  (0 added, 0 deleted, 3 changed)
OCL=15092
CL=15096
2008-09-10 13:24:47 -07:00
Robert Griesemer
667ef6c163 - incorporated bug fixes, todo's as suggested by rsc
R=r
DELTA=32  (11 added, 2 deleted, 19 changed)
OCL=15087
CL=15093
2008-09-10 13:00:32 -07:00
Rob Pike
ae4123f56b - stub for tutorial
- tools to make it easy to embed programs

R=gri
DELTA=103  (97 added, 2 deleted, 4 changed)
OCL=15085
CL=15085
2008-09-10 11:46:05 -07:00
Robert Griesemer
0416f994b7 - added convenience wrappers for sort
(work now with Ken's latest compiler fix)
- exoanded test cases accordingly
- fixed a type in the spec (thx r)

R=r
DELTA=65  (62 added, 2 deleted, 1 changed)
OCL=15050
CL=15050
2008-09-09 18:13:08 -07:00
Robert Griesemer
c59d2f13aa - moved spec todo's into spec (as html comment)
- cleaned up todo.txt a bit

R=r
OCL=15009
CL=15009
2008-09-09 10:48:14 -07:00
Robert Griesemer
4dc2528afa - added missing language to almost all types
- fixed several examples to use new function type syntax
- added list of open spec issues to todo.txt

R=r
DELTA=143  (88 added, 8 deleted, 47 changed)
OCL=14974
CL=15007
2008-09-09 10:37:19 -07:00
Robert Griesemer
7231ceb714 Proposal for new function type syntax as suggested by ken:
- removed "func" from function type
- make it work by changing composite literal syntax to use {} instead of ()

FunctionType is now more in line with the rest of the declarations, as the
keyword "func" is now really part of the declaration and not part of the type.

R=r,ken
DELTA=49  (14 added, 12 deleted, 23 changed)
OCL=14864
CL=14955
2008-09-08 15:01:04 -07:00
Robert Griesemer
cae0342230 - \' not allowed in string literals
- \" not allowed in char literals
- replaces uses of printf with print

R=r,ken
DELTA=10  (2 added, 0 deleted, 8 changed)
OCL=14841
CL=14841
2008-09-04 16:59:31 -07:00
Robert Griesemer
41d65ac4a5 - added missing language to operator section in spec
R=r,ken
DELTA=100  (71 added, 9 deleted, 20 changed)
OCL=14827
CL=14832
2008-09-04 15:17:27 -07:00
Robert Griesemer
f5cb258195 - clarification of type of array literals (always fixed array)
- clarification of const decl syntax

R=r
DELTA=9  (4 added, 0 deleted, 5 changed)
OCL=14771
CL=14771
2008-09-03 16:41:31 -07:00
Robert Griesemer
ce04d0197a - fixed typo
R=r
OCL=14763
CL=14763
2008-09-03 15:22:27 -07:00
Robert Griesemer
7a4ed4f8c4 - minor corrections to go_spec.txt
- verified that all text from go_lang.txt is either present in its
  old form, or that we have corresponding updated sections for it
- delete go_lang.txt

R=r
DELTA=2389  (38 added, 2344 deleted, 7 changed)
OCL=14760
CL=14762
2008-09-03 15:15:51 -07:00
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