+#!/usr/bin/seed
+//<script type="text/javascript">
+/**
+ * Simple packer example
+ *
+ * compresses files listed as arguments and outputs result
+ */
+TextStream = imports['JSDOC/TextStream.js'].TextStream;
+TokenReader = imports['JSDOC/TokenReader.js'].TokenReader;
+ScopeParser = imports['JSDOC/ScopeParser.js'].ScopeParser;
+TokenStream = imports['JSDOC/TokenStream.js'].TokenStream;
+CompressWhite = imports['JSDOC/CompressWhite.js'].CompressWhite;
+File = imports.File.File;
+
+
+function pack(str)
+{
+
+ var tr = new TokenReader( { keepDocs :true, keepWhite : true, keepComments : true, sepIdents : true });
+ var toks = tr.tokenize(new TextStream(str) ); // dont merge xxx + . + yyyy etc.
+ var ts = new TokenStream(toks);
+ // ts.dump();
+ var sp = new ScopeParser(ts);
+ sp.buildSymbolTree();
+ sp.mungeSymboltree();
+ print(sp.warnings.join("\n"));
+ var out = CompressWhite(sp.ts);
+ return out;
+
+}
+
+
+var args = Array.prototype.slice.call(Seed.argv);
+args.shift(); //seed
+args.shift(); // pack.js
+var cfg = {
+ files : [],
+ target : false,
+}
+
+
+for(var i =0; i < args.length;i++) {
+ if (args[i] == '-o') {
+ cfg.target = args[i+1];
+ i++;
+ continue;
+ }
+ cfg.files.push(args[i]);
+}
+var pack;
+try {
+ pack = new Packer(cfg)
+} catch (e) {
+ print("ERROR " + e);
+ Seed.quit();
+}
+if (!pack.target) {
+ print(pack.out);
+}
+
+