- commented public interface
- much better and very precise error messages
- much better tracing output
- many more checks (still permits more than just syntactically legal
programs, but much more is checked that can be checked w/o semantic information)
- updated with respect to updated AST
- general cleanup throughout
Parser almost ready for move into lib/go.
R=r
OCL=26853
CL=26855
- various parser fixes to match updated spec (&&, &^=, label decls, const decls)
- using html template for directory and error page in doc server
- show compile errors inplace in the source
- cleanups
R=rsc
OCL=26287
CL=26287
- correctly associate comments with declarations
(available through AST)
- very raw printing of interface
- much more functionality, now needs some formatting, sorting, etc.
R=r
OCL=26213
CL=26213
- removed any symbol table stuff
- some interface cleanup
- removed lot's of dead wood
- half the support for type switches (simple form)
- name capitalization
Several rounds to come.
R=r
OCL=25797
CL=25797
- require ()'s around composite literals at the if/for/switch control clause level
- fixed a nasty bug: passing a value instead of a pointer to a value to an interface
variable - and not noticing that the value is copied
R=r
OCL=25649
CL=25649
- removed unneeded code that accumulated over time
- change src from string to []byte (perhaps should be io.Read
but that has some other disadvantages)
- simplified interface
R=r
OCL=25615
CL=25615
- converted more of AST and parser to use interfaces and explicit
structs for individual Go constructs (can be replaced now with
interface calls such that the parser becomes AST structure
independent, as suggested by rsc)
- added more tests (find all .go files under GOROOT)
- (temporarily) lost html links for identifiers when generating
html output
- TODO: lots of cleanups
R=r
OCL=25518
CL=25518
- moved Object, Type, Scope out of AST into symboltable
- moved universe into symboltable
- removed dead code
- fixed dependency computation (pretty -d filename.go)
- lots of cleanups
- removed tocken channel connection between parser and scanner
(was cute, but not really needed)
R=r
OCL=24545
CL=24545
using interfaces properly => much cleaner code
- converted tracing code to use 'defer' statement
- next steps: convert rest of ast as well
R=r
OCL=24277
CL=24277
(will help produce html output where we can click on identifiers and
get to the declaration)
- snapshot before changing back to old new
R=r
OCL=22159
CL=22159
Preparations to track identifiers and declarations so that we can
generate good html links as pretty printer output:
- brought over old code and adjusted it
- initial hookups, nothing really running yet
R=r
OCL=21383
CL=21383
(e.g.: pretty -d pretty.go will print the Makefile dep. rules of the involved
Go files that are not part of the installed library)
- minor fix in pretty printer (tested against ken's test files)
R=r
OCL=17872
CL=17872