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