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