I read a paper once (at the University of New Brunswick (Canada)) library in which the grammar for a language was used to construct a data compressor for syntaxly correct programs. The output was a compressed form of a parse/syntax tree with comments and white space included. Once decompressed, the tree could be used to reconstruct the source. I don't know if a compressed syntax tree would be very useful for programming tasks but it could be used to compress Smalltalk's source file and changes file. This assumes the time saved by filing in smaller chucks of programs segments would greater than the cost of decompression.
do you have the reference? One guy told me and in Oberon or something like that the ast was compressed long time ago.
Franz, M. & Kistler, T. (1997), 'Slim Binaries', Commun. ACM 40 (12) , 87--94 . http://dl.acm.org/citation.cfm?id=265576
Ok we know this one :) Stef