*
*/
- packFile : function (str,fn,minfile)
+ void packFile (string str,string fn, string minfile)
{
- var tr = new TokenReader( {
- keepDocs :true,
- keepWhite : true,
- keepComments : true,
- sepIdents : true,
- collapseWhite : false,
- filename : fn
- });
+ var tr = new TokenReader();
+ tr.keepDocs =true;
+ tr.keepWhite = true;
+ tr.keepComments = true;
+ tr.sepIdents = true;
+ tr.collapseWhite = false;
+ tr.filename = fn;
+
this.timerPrint("START" + fn);
// we can load translation map here...
var toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
- // at this point we can write a language file...
- if (this.translateJSON) {
-
- this.writeTranslateFile(fn, minfile, toks);
- }
+
this.activeFile = fn;
// and replace if we are generating a different language..
- this.timerPrint("Tokenized");
+
//var ts = new TokenStream(toks);
//print(JSON.stringify(toks, null,4 )); Seed.quit();
var ts = new Collapse(toks);
// print(JSON.stringify(ts.tokens, null,4 )); Seed.quit();
//return;//
var sp = new ScopeParser(ts);
- this.timerPrint("Converted to Parser");
+
sp.packer = this;
sp.buildSymbolTree();
- this.timerPrint("Built Sym tree");
+
sp.mungeSymboltree();
- this.timerPrint("Munged Sym tree");
+
print(sp.warnings.join("\n"));
- this.timerPrint("Compressed");
+
var out = CompressWhite(new TokenStream(toks), this, this.keepWhite); // do not kill whitespace..
- this.timerPrint("Compressed");
+
if (out.length) {
File.write(minfile, out);