Commit Graph

28 Commits

Author SHA1 Message Date
Robert Griesemer
2a58e7d7a0 more work on elastic tabs:
- new code enabled, but no comments printed yet (so the effect
  of the elastic tabs is not seen yet)

TBR=r
DELTA=200  (93 added, 69 deleted, 38 changed)
OCL=18951
CL=18951
2008-11-10 17:56:46 -08:00
Robert Griesemer
a3b4a3c29d - steps towards "flexible tab stops" simulation in pretty
printing output
- not yet enabled

R=r
OCL=18842
CL=18842
2008-11-07 18:30:58 -08:00
Robert Griesemer
42ae5270d8 - handle field tags in pretty printer
R=r
OCL=18264
CL=18264
2008-10-31 14:27:34 -07:00
Robert Griesemer
cec64a2dd5 - some factoring of scan/parse phase so we can attach other functionality
easily (for instance import dependency extraction)
- support for new "..." syntax
- minor cleanup

R=r
OCL=17811
CL=17811
2008-10-24 14:04:54 -07:00
Robert Griesemer
816c1cefff - expanded parsing heuristics to deal with new(T, ...)
- fixed an issue with select
- added all bugs and fixedbugs tests that are syntactically correct to the test suite
- minor cosmetic changes

R=r
OCL=17759
CL=17759
2008-10-23 17:56:54 -07:00
Robert Griesemer
9d20c85ae9 - fixed missing parens in some cases of unary expressions
- added validation test verifying that pretty output compiles with 6g again (disabled at the moment)
- replaced another recursive function with an interative solution

R=r
OCL=17505
CL=17505
2008-10-20 16:44:03 -07:00
Robert Griesemer
5d0e5a7867 - use stringtorune library function for faster rune scanning
- converted 2 right-recursive parsing functions into iterative versions
- renamed node.go -> ast.go (clearer)

R=r
OCL=17496
CL=17498
2008-10-20 15:03:40 -07:00
Robert Griesemer
6440c59e22 - removed need for lhs field in stat node
- as a result deleted some more code

R=r
OCL=17449
CL=17449
2008-10-20 10:01:34 -07:00
Robert Griesemer
f39b518bcb - fixed a couple of corner cases (empty statements, empty composites)
- more robust printing in presence of errors
- fixed incorrect printing of function literals

R=r
OCL=17378
CL=17378
2008-10-17 16:19:31 -07:00
Robert Griesemer
61d9a3c3b0 - stronger syntax checks
- fixed a bug with non-eof terminated //-style comments
- collecting comments
- first experiments with reproducing comments
  (works but not very pretty, disabled for now)
- idempotent for all correct .go files we have checked in

R=r
OCL=17333
CL=17333
2008-10-16 23:30:42 -07:00
Robert Griesemer
c4f9f369a6 - added test script
- fixed a couple of printing bugs
status: parses, reproduces, and idempotently reproduces all correct .go files

R=r
OCL=17332
CL=17332
2008-10-16 19:24:33 -07:00
Robert Griesemer
3c9b817257 snapshot:
- typeguards, var decls, several printing bug fixed
- now fully idempotent on many files (which are accepted by 6g afterwards)
- still some detail issues

R=r
OCL=17310
CL=17310
2008-10-16 14:25:23 -07:00
Robert Griesemer
b705ac6cf5 - composites, receivers, various add. checks
R=r
OCL=17295
CL=17295
2008-10-16 12:16:50 -07:00
Robert Griesemer
a09b7fdd6c snapshot:
- fallthrough stat, label decls
- improved printing layout

R=r
OCL=17283
CL=17283
2008-10-16 10:16:59 -07:00
Robert Griesemer
6b49713df5 snapshot of pretty printer:
- almost there, receivers, labels, composites, comments are not yet printed
- runs through 18KLOC of Go code and prints it again

R=r
OCL=17237
CL=17237
2008-10-15 17:06:28 -07:00
Robert Griesemer
82fbbdfc7d snapshot
- fixed expression and statement printing
- missing: declarations, comments

R=r
OCL=17207
CL=17207
2008-10-15 11:48:18 -07:00
Robert Griesemer
7c3a2c47b0 - snapshot of pretty printer work
- 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-14 18:14:01 -07:00
Robert Griesemer
a6400dd448 more fine-tuning of ;'s
R=r
OCL=16274
CL=16274
2008-09-30 19:31:27 -07:00
Robert Griesemer
6349d38ebc - fixed semicolon handling in pretty printer
- some scanner cleanup
- new pretty-printed code can be compiled again (for some files)

R=r
OCL=16272
CL=16272
2008-09-30 18:50:29 -07:00
Robert Griesemer
bf855f5a94 - allow for embeded types in fields, and parameter lists w/o parameter names
- temporary work-around for 6g bug

R=r
OCL=16052
CL=16052
2008-09-27 17:42:18 -07:00
Robert Griesemer
3548350d3e Snapshot.
Added support for function literals, composite literals.
Bug fixes.

R=r
OCL=15911
CL=15911
2008-09-25 17:20:39 -07:00
Robert Griesemer
8415280699 - more missing constructs added
- removed excessive ";"'s
- no ()'s around expressions where not needed
- parser.go now reproduced and parseable again

R=r
OCL=15881
CL=15881
2008-09-25 15:14:26 -07:00
Robert Griesemer
c51195386e snapshot: more pretty printer stuff
R=r
OCL=15863
CL=15863
2008-09-25 11:50:34 -07:00
Robert Griesemer
c5a29a6dd4 - more ast buidling and printing
- almost complete language reproduced

R=r
OCL=15801
CL=15801
2008-09-24 15:50:28 -07:00
Robert Griesemer
83267dce11 - added initial formatting: indentation
- more AST nodes built and printed

R=r
OCL=15735
CL=15735
2008-09-23 18:34:17 -07:00
Robert Griesemer
09bed25621 - snapshot of pretty printer status
- parts of AST built and printed
- no formatting yet

R=r
OCL=15727
CL=15727
2008-09-23 16:40:12 -07:00
Robert Griesemer
c13c03c261 - first cut at building and printing AST
R=r
OCL=15675
CL=15675
2008-09-22 18:26:12 -07:00
Robert Griesemer
81d7c51837 First cut at a Go pretty printer:
- code scavenged from Go-in-Go front-end (will merge back)
- using "symbol-table" free parsing to build AST
- no printing yet

R=r
OCL=15504
CL=15504
2008-09-18 16:58:37 -07:00