Age | Commit message (Collapse) | Author | Files | Lines |
|
next cl will update names and add to build
R=rsc
DELTA=1876 (938 added, 938 deleted, 0 changed)
OCL=17149
CL=17166
|
|
R=ken
OCL=17164
CL=17164
|
|
- 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
|
|
fix some bugs in () ordering and rune processing
R=rsc
DELTA=72 (27 added, 5 deleted, 40 changed)
OCL=17147
CL=17147
|
|
R=ken
OCL=17141
CL=17143
|
|
R=rsc
DELTA=21 (0 added, 21 deleted, 0 changed)
OCL=17123
CL=17136
|
|
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
|
|
R=r
OCL=17134
CL=17134
|
|
R=r
OCL=17116
CL=17118
|
|
R=r
OCL=17096
CL=17096
|
|
R=r
OCL=17063
CL=17063
|
|
R=rsc
DELTA=12 (12 added, 0 deleted, 0 changed)
OCL=16989
CL=16998
|
|
allocate into an array for easier scanning and printing.
R=rsc
DELTA=282 (193 added, 44 deleted, 45 changed)
OCL=16955
CL=16955
|
|
update printing.
R=rsc
DELTA=194 (60 added, 41 deleted, 93 changed)
OCL=16942
CL=16945
|
|
(seems not controversial)
R=r
DELTA=8 (3 added, 2 deleted, 3 changed)
OCL=16940
CL=16940
|
|
R=r
OCL=16938
CL=16938
|
|
(no effect on the test, but now parseable)
R=r
OCL=16936
CL=16936
|
|
R=ken
OCL=16935
CL=16935
|
|
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
|
|
R=r
OCL=16929
CL=16929
|
|
R=rsc
DELTA=2 (0 added, 2 deleted, 0 changed)
OCL=16927
CL=16927
|
|
(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
|
|
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
|
|
- 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
|
|
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
|
|
R=r
OCL=16869
CL=16869
|
|
- 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
|
|
R=rsc
APPROVED=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=16794
CL=16803
|
|
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
|
|
R=gri
DELTA=8 (8 added, 0 deleted, 0 changed)
OCL=16765
CL=16767
|
|
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
|
|
R=r
OCL=16720
CL=16728
|
|
R=r
OCL=16721
CL=16727
|
|
R=r
DELTA=6 (6 added, 0 deleted, 0 changed)
OCL=16726
CL=16726
|
|
R=rsc
APPROVED=rsc
DELTA=50 (4 added, 0 deleted, 46 changed)
OCL=16707
CL=16725
|
|
- 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
|
|
R=r
OCL=16698
CL=16698
|
|
the parser accepts a bit more then it should)
R=r
OCL=16694
CL=16694
|
|
R=rsc
APPROVED=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=16688
CL=16690
|
|
- 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
|
|
R=ken
OCL=16651
CL=16653
|
|
R=gri,r
OCL=16648
CL=16652
|
|
type T struct
export type T struct { a int }
was not exporting T
R=ken
OCL=16650
CL=16650
|
|
R=r
DELTA=18 (18 added, 0 deleted, 0 changed)
OCL=16639
CL=16647
|
|
* 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
|
|
* 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
|
|
R=rsc
DELTA=7 (0 added, 0 deleted, 7 changed)
OCL=16600
CL=16630
|
|
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
|
|
R=gri
DELTA=4 (0 added, 3 deleted, 1 changed)
OCL=16565
CL=16579
|
|
R=ken
OCL=16550
CL=16550
|