summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-10-10- added language re: interface compparison using ==, !=Robert Griesemer1-5/+6
(seems not controversial) R=r DELTA=8 (3 added, 2 deleted, 3 changed) OCL=16940 CL=16940
2008-10-10handle zeroed interface in ifaceI2IRuss Cox1-8/+9
R=r OCL=16938 CL=16938
2008-10-10- added missing ';' according to new rulesRobert Griesemer1-1/+1
(no effect on the test, but now parseable) R=r OCL=16936 CL=16936
2008-10-10until 6g implements it, warn about using int in interface.Russ Cox1-0/+4
R=ken OCL=16935 CL=16935
2008-10-10- implemented heuristic for composite literals starting with a type name:Robert Griesemer3-144/+116
if in a if, for, or switch header, must be parenthesized - implemented string concatenation - simplified a lot of code - added many more tests: can now parse all *.go files I got my hands on - printing output currently broken in some cases, use with -s (silent) option R=r OCL=16932 CL=16934
2008-10-10add sys.BUG_intereq to compare interfaces for equalityRuss Cox3-0/+20
R=r OCL=16929 CL=16929
2008-10-10- removed extra package clauseRobert Griesemer1-2/+0
R=rsc DELTA=2 (0 added, 2 deleted, 0 changed) OCL=16927 CL=16927
2008-10-10- Fixed bug in spec: PrimaryExpr is too restrictive in most placesRobert Griesemer1-28/+57
(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-10cat unmatched )Rob Pike1-24/+3
delete unused This() in preparation for removing linking via array indexes R=rsc DELTA=26 (2 added, 23 deleted, 1 changed) OCL=16895 CL=16909
2008-10-09- added missing case for opt. semicolons (labels)Robert Griesemer1-5/+15
- 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-09beginnings of regular expression library.Rob Pike3-0/+531
will move elsewhere when more complete. parses, does not execute. no character classes yet. R=rsc DELTA=522 (522 added, 0 deleted, 0 changed) OCL=16863 CL=16874
2008-10-09- more cleanups (simpler code for optional semi's, bug fixes)Robert Griesemer1-94/+73
R=r OCL=16869 CL=16869
2008-10-09More spec progress:Robert Griesemer1-34/+98
- 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-09Adding Mkdir.Cary Hull3-0/+21
R=rsc APPROVED=rsc DELTA=21 (21 added, 0 deleted, 0 changed) OCL=16794 CL=16803
2008-10-08- make optional semicolons explicit in grammar in all placesRobert Griesemer1-51/+53
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-08test of new empty productionsRuss Cox1-0/+12
R=gri DELTA=8 (8 added, 0 deleted, 0 changed) OCL=16765 CL=16767
2008-10-08add empty var ( ), type ( ), const ( ) factoringsRuss Cox1-0/+13
suggested by rob (could make programs generating go easier to write). R=ken DELTA=13 (13 added, 0 deleted, 0 changed) OCL=16766 CL=16766
2008-10-08split all.bash into make.bash and run.bashRuss Cox2-37/+39
R=r OCL=16720 CL=16728
2008-10-08add http to lib buildRuss Cox1-1/+1
R=r OCL=16721 CL=16727
2008-10-08check $GOROOT before diving into buildRuss Cox1-0/+6
R=r DELTA=6 (6 added, 0 deleted, 0 changed) OCL=16726 CL=16726
2008-10-08Fixes breakage caused by semicolon restriction.Cary Hull6-46/+50
R=rsc APPROVED=rsc DELTA=50 (4 added, 0 deleted, 46 changed) OCL=16707 CL=16725
2008-10-08more interface checks:Russ Cox6-6/+94
- pointer to interface cannot have methods - record type names for better runtime error R=r,ken DELTA=85 (80 added, 0 deleted, 5 changed) OCL=16658 CL=16722
2008-10-07- don't allow empty decl lists (e.g. const ())Robert Griesemer1-7/+5
R=r OCL=16698 CL=16698
2008-10-07- accept new semicolon syntax (at the moment,Robert Griesemer1-39/+50
the parser accepts a bit more then it should) R=r OCL=16694 CL=16694
2008-10-07Unterminated declaration breaks build.Cary Hull1-1/+1
R=rsc APPROVED=rsc DELTA=1 (0 added, 0 deleted, 1 changed) OCL=16688 CL=16690
2008-10-07- precise scope rulesRobert Griesemer1-109/+189
- 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-07remove support for *T as an implicit declaration of TRuss Cox2-25/+3
R=ken OCL=16651 CL=16653
2008-10-07remove uses of *T as an implicit forward declaration of TRuss Cox6-5/+70
R=gri,r OCL=16648 CL=16652
2008-10-07fix bug:Russ Cox1-1/+4
type T struct export type T struct { a int } was not exporting T R=ken OCL=16650 CL=16650
2008-10-07test that mutually recursive interfaces compileRuss Cox1-0/+22
R=r DELTA=18 (18 added, 0 deleted, 0 changed) OCL=16639 CL=16647
2008-10-07implement new semicolon rules:Russ Cox1-136/+146
* 1. all statements and declarations are terminated by semicolons * 2. semicolons can be omitted at top level. * 3. semicolons can be omitted before and after the closing ) or } * on a list of statements or declarations. now that semicolons are in, uncomment forward declaration of interfaces R=ken DELTA=285 (124 added, 114 deleted, 47 changed) OCL=16638 CL=16646
2008-10-07update code to follow new semicolon rules:Russ Cox38-430/+430
* 1. all statements and declarations are terminated by semicolons * 2. semicolons can be omitted at top level. * 3. semicolons can be omitted before and after the closing ) or } * on a list of statements or declarations. /home/rsc/bin/addsemi and then diff+tweak. R=r,gri OCL=16620 CL=16643
2008-10-07sys.stringtorune doesn't need a length parameter.Rob Pike5-7/+7
R=rsc DELTA=7 (0 added, 0 deleted, 7 changed) OCL=16600 CL=16630
2008-10-06change type names to go live at the name, so thatRuss Cox11-148/+292
type T struct { next *T } and type T *struct { next T } are valid without needing forward declarations. add "type T struct" syntax for forward struct declarations. add "type T interface" syntax, but commented out (need to fix semicolons first) R=ken DELTA=452 (259 added, 115 deleted, 78 changed) OCL=16580 CL=16584
2008-10-06change in spec results in non-errorRob Pike2-4/+1
R=gri DELTA=4 (0 added, 3 deleted, 1 changed) OCL=16565 CL=16579
2008-10-06silence gcc warning - initialize two variablesRuss Cox1-0/+3
R=ken OCL=16550 CL=16550
2008-10-06Change old-style export declaration to new style export ofIan Lance Taylor1-3/+1
type definition. R=r DELTA=3 (0 added, 2 deleted, 1 changed) OCL=16537 CL=16545
2008-10-05bug026 and bug060 are fixed. update.Rob Pike4-13/+0
R=rsc DELTA=87 (37 added, 50 deleted, 0 changed) OCL=16498 CL=16507
2008-10-04fix method use bug in powser1.Russ Cox1-6/+6
R=r DELTA=7 (2 added, 2 deleted, 3 changed) OCL=16495 CL=16499
2008-10-04bug060Ken Thompson1-0/+2
R=r OCL=16497 CL=16497
2008-10-04bug 026Ken Thompson7-148/+35
R=r OCL=16494 CL=16494
2008-10-04change *a1++; to plain a1++Russ Cox1-2/+2
R=ken DELTA=2 (0 added, 0 deleted, 2 changed) OCL=16489 CL=16489
2008-10-04add method test & fix method name bugsRuss Cox4-17/+84
R=ken,r DELTA=86 (72 added, 9 deleted, 5 changed) OCL=16488 CL=16488
2008-10-03const bug, name bug - working on bothRuss Cox2-0/+51
R=r DELTA=43 (43 added, 0 deleted, 0 changed) OCL=16468 CL=16475
2008-10-03silence gcc warningsRuss Cox11-21/+13
R=ken OCL=16449 CL=16466
2008-10-03new import/export formatRuss Cox13-1339/+699
package flag export type flag.Flag struct { name flag.string; usage flag.string; \ value flag.Value; next *flag.Flag } type flag.string string type flag.Value interface { AsBool () (? *flag.BoolValue); \ AsInt () (? *flag.IntValue); AsString () (? *flag.StringValue); \ IsBool () (? flag.bool); IsInt () (? flag.bool); IsString () (? flag.bool); \ Str () (? flag.string); ValidValue (str flag.string) (? flag.bool) } type flag.BoolValue struct { val flag.bool; p *flag.bool } type flag.IntValue struct { val flag.int64; p *flag.int64 } type flag.StringValue struct { val flag.string; p *flag.string } type flag.bool bool func (e *flag.StringValue) AsBool () (? *flag.BoolValue) func (e *flag.StringValue) AsInt () (? *flag.IntValue) ... the \ continuations are for this message, not real. changed delimiter for import from (( )) to $$ $$. replaced mksys.bash with mksys.c changed sys.go to use leading export, fake package name is now SYS not foop don't always require ; on forward func decls R=ken,r DELTA=1827 (446 added, 1083 deleted, 298 changed) OCL=16433 CL=16463
2008-10-03interfaces of all typesKen Thompson6-80/+80
R=r OCL=16462 CL=16462
2008-10-03allow prof to launch the processRob Pike1-2/+32
R=rsc DELTA=32 (30 added, 0 deleted, 2 changed) OCL=16440 CL=16445
2008-10-03- precise scope rulesRobert Griesemer1-35/+64
- 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-03Revised wording about sends.Rob Pike1-15/+18
Evaluation is done before communication starts. R=gri DELTA=19 (4 added, 1 deleted, 14 changed) OCL=16357 CL=16416