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

132 Commits

Author SHA1 Message Date
Robert Griesemer
071c91bf48 First cut at incorporating anonymous fields of pointer types into the
spec.

I have deliberately removed the wording about receivers where it was
before because I think it needs to be more precise. There is a TODO.

DELTA=90  (54 added, 0 deleted, 36 changed)
OCL=17597
CL=17716
2008-10-23 12:04:45 -07:00
Robert Griesemer
a6b546fe31 - be even more explicit about ideal number conversion in expressions
- added a note with respect the difference of semantics of *p++ in Go vs C

R=r
DELTA=14  (6 added, 2 deleted, 6 changed)
OCL=17455
CL=17457
2008-10-20 11:46:40 -07:00
Robert Griesemer
71696ac048 clarification of conversion rules for ideal numbers
R=r
DELTA=21  (11 added, 1 deleted, 9 changed)
OCL=17316
CL=17316
2008-10-16 15:03:22 -07:00
Robert Griesemer
b5e0cc7ef5 - added language re: interface compparison using ==, !=
(seems not controversial)

R=r
DELTA=8  (3 added, 2 deleted, 3 changed)
OCL=16940
CL=16940
2008-10-10 16:34:44 -07:00
Robert Griesemer
57b34617e0 - Fixed bug in spec: PrimaryExpr is too restrictive in most places
(for instance *p was not allowed on the left side of "="). Changed
to Expression everywhere (this is too liberal, UnaryExpr is probably
good enough, but it seems funny, and we need to check semantically
anyway). This matches 6g yacc.
- Write expression syntac recursively to express evaluation order
and precedence syntactically.
- Organized open issues list, folded in stuff from todo.txt which
is now obsolete.

R=r
DELTA=108  (41 added, 52 deleted, 15 changed)
OCL=16903
CL=16910
2008-10-10 12:45:44 -07:00
Robert Griesemer
7271e048fc - added missing case for opt. semicolons (labels)
- more precise wording by having an explicit list of cases
- simplified statement list

R=r
DELTA=16  (10 added, 0 deleted, 6 changed)
OCL=16871
CL=16875
2008-10-09 20:05:24 -07:00
Robert Griesemer
bbfe31238b More spec progress:
- language for selectors and array/map indices
- formal description of syntax notation used
- factor out common productions to better show
  symmetries in grammar

R=r
DELTA=113  (77 added, 13 deleted, 23 changed)
OCL=16853
CL=16865
2008-10-09 17:12:09 -07:00
Robert Griesemer
aed247fdb9 - make optional semicolons explicit in grammar in all places
except in statement list, where it is expressed in words
- allow for empty import, const, type, and var decl lists inside ()'s
- fixed grammar for inc/dec statements
- added empty statement as it appears to be accepted by 6g

R=r
DELTA=75  (23 added, 21 deleted, 31 changed)
OCL=16785
CL=16785
2008-10-08 17:05:30 -07:00
Robert Griesemer
7abfcd981f - precise scope rules
- forward decls for interface and struct types
- complete & incomplete types
- optional semicolons

R=r
DELTA=216  (95 added, 15 deleted, 106 changed)
OCL=16465
CL=16687
2008-10-07 17:14:30 -07:00
Robert Griesemer
347cf67a85 - precise scope rules
- clarified naming of invisible fields
- fixed syntax of expression statements

R=r
DELTA=70  (33 added, 4 deleted, 33 changed)
OCL=16424
CL=16439
2008-10-03 14:04:28 -07:00
Rob Pike
569a107e0d Revised wording about sends.
Evaluation is done before communication starts.

R=gri
DELTA=19  (4 added, 1 deleted, 14 changed)
OCL=16357
CL=16416
2008-10-03 11:18:45 -07:00
Rob Pike
cd368a259e add a little text clarifying the behavior of 'select'
R=gri
DELTA=18  (8 added, 2 deleted, 8 changed)
OCL=16356
CL=16356
2008-10-02 10:37:12 -07:00
Robert Griesemer
5e92fb20b8 Clarifications re: anonymous fields in structs:
- typename cannot refer to interface types
- clarified syntax
- added TODO re: type name issue with qualified identifiers

Changed/fixed order of operators/keywords.

R=r
DELTA=10  (3 added, 0 deleted, 7 changed)
OCL=16337
CL=16339
2008-10-01 17:21:19 -07:00
Robert Griesemer
52a548034e - exceptional conditions during expression evaluation are undefined
- "nil" for interfaces, comparison against "nil"

R=r
DELTA=38  (24 added, 5 deleted, 9 changed)
OCL=16207
CL=16211
2008-09-30 13:02:50 -07:00
Robert Griesemer
c59b2a3db1 - type of array literals is always fixed array
- changed terminology from "embedded type" to "anonymous field"

R=r
DELTA=38  (7 added, 2 deleted, 29 changed)
OCL=16193
CL=16196
2008-09-30 10:57:59 -07:00
Robert Griesemer
a1065faf7c - corrections and more on interface types
R=r
DELTA=35  (12 added, 13 deleted, 10 changed)
OCL=16162
CL=16164
2008-09-29 20:37:46 -07:00
Rob Pike
81672ef15b fix some typos, mostly
R=gri
OCL=16161
CL=16161
2008-09-29 20:06:48 -07:00
Robert Griesemer
1f3e842c73 Some initial language towards embedded types and methods for all types.
More to come.

R=r
DELTA=74  (47 added, 8 deleted, 19 changed)
OCL=16156
CL=16159
2008-09-29 18:41:30 -07:00
Robert Griesemer
cd49927ca7 - added language about string literal concatenation
- added "..." to list of delimiters (slightly re-arranged that table)
- rename of 2 productions for more consistent naming

R=r
DELTA=20  (7 added, 1 deleted, 12 changed)
OCL=16101
CL=16103
2008-09-29 12:09:00 -07:00
Robert Griesemer
75a03a5b00 - added TODO
- changed FieldDecl production in preparation for inlined types

R=r
DELTA=6  (4 added, 0 deleted, 2 changed)
OCL=16046
CL=16046
2008-09-27 14:51:31 -07:00
Robert Griesemer
566e3b2043 - added language with respect to init() restrictions
R=r
DELTA=10  (9 added, 0 deleted, 1 changed)
OCL=16016
CL=16016
2008-09-26 16:41:50 -07:00
Robert Griesemer
133c68e9ac Simplification of Conversions section:
- leave only basic type conversions in that section
- we have a section of composite literals which covers those
- we have a section prepared (but not written) on type guards
- the built-in function "convert" doesn't need to be exposed
  as it is redundant

R=r
DELTA=101  (6 added, 77 deleted, 18 changed)
OCL=15986
CL=15991
2008-09-26 14:04:21 -07:00
Robert Griesemer
b9f8b9c43a - fixed Go statement syntax (only notational change)
- simplified Assignment syntax (only notational change)
- added TODOs
- made old text invisible by moving it into HTML comment

R=r
DELTA=107  (4 added, 95 deleted, 8 changed)
OCL=15972
CL=15987
2008-09-26 13:38:38 -07:00
Robert Griesemer
ac05579345 1) Fixed spec w/ respect to result types.
2) Added proposal for making "if" statements consistent with the
   other control structures.

R=r
DELTA=59  (32 added, 6 deleted, 21 changed)
OCL=15583
CL=15964
2008-09-26 11:15:14 -07:00
Ian Lance Taylor
128f052891 Correct two web links, add missing semicolon after &lt.
R=r
DELTA=3  (0 added, 0 deleted, 3 changed)
OCL=15619
CL=15624
2008-09-22 11:29:40 -07:00
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