summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-10-14move regexp to libRob Pike3-0/+0
next cl will update names and add to build R=rsc DELTA=1876 (938 added, 938 deleted, 0 changed) OCL=17149 CL=17166
2008-10-14simplify comma code per ken's suggestionRuss Cox1-10/+2
R=ken OCL=17164 CL=17164
2008-10-14- snapshot of pretty printer workRobert Griesemer6-1363/+897
- accepts all Go code (use -s flag) - complete rewrite of AST, AST building, and printing (as a result much more compact) - printing severely screwed up at the moment, but should be fully working in 1 more day R=r DELTA=2118 (514 added, 980 deleted, 624 changed) OCL=17161 CL=17161
2008-10-14add some testsRob Pike2-44/+66
fix some bugs in () ordering and rune processing R=rsc DELTA=72 (27 added, 5 deleted, 40 changed) OCL=17147 CL=17147
2008-10-14allow trailing comma in braced initialized listRuss Cox2-3/+45
R=ken OCL=17141 CL=17143
2008-10-14delete hack for interface equality now that it supported by the 6g compilerRob Pike3-21/+0
R=rsc DELTA=21 (0 added, 21 deleted, 0 changed) OCL=17123 CL=17136
2008-10-14implement matchingRob Pike2-39/+286
clean up interface equality hack still needs more tests; checking in for gccgo testing R=rsc DELTA=304 (261 added, 14 deleted, 29 changed) OCL=17128 CL=17135
2008-10-14interface equality (strings specifically)Ken Thompson2-12/+11
R=r OCL=17134 CL=17134
2008-10-14interface equalityKen Thompson5-1/+77
R=r OCL=17116 CL=17118
2008-10-14bug with struct-type { 1 }Ken Thompson1-0/+1
R=r OCL=17096 CL=17096
2008-10-13stack allocation for the init functionKen Thompson3-4/+10
R=r OCL=17063 CL=17063
2008-10-136g thinks a struct with one entry yields a composite that is a basic conversionRob Pike1-0/+16
R=rsc DELTA=12 (12 added, 0 deleted, 0 changed) OCL=16989 CL=16998
2008-10-11add character classes.Rob Pike1-81/+230
allocate into an array for easier scanning and printing. R=rsc DELTA=282 (193 added, 44 deleted, 45 changed) OCL=16955 CL=16955
2008-10-10convert from integer indexes to interface variables.Rob Pike1-129/+148
update printing. R=rsc DELTA=194 (60 added, 41 deleted, 93 changed) OCL=16942 CL=16945
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