| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- var sys = require('sys'),
 
-     fs = require('fs'),
 
-     ometa = require('ometa'),
 
-     creatingParser = false;
 
- var fixReadFile = function(rawFile) {
 
-   return rawFile.slice(1).replace(/\\n/g, '\n');
 
- };
 
- var createParser = function(parserInitializer) {
 
-   if(!creatingParser) {
 
-     creatingParser = true;
 
-     //fs.readFile(__dirname + '/../src/cssSelector.ometa', 'utf8', function(err, contents) {
 
-     fs.readFile(__dirname + '/../../ometa-js/newLineGrammar.ometa', 'utf8', function(err, contents) {
 
-       if(err) {
 
-         parserInitializer.setParser(err);
 
-       } else {
 
-         ometa.createParser(fixReadFile(contents), parserInitializer.setParser);
 
-       }
 
-       creatingParser = false;
 
-     });
 
-   }
 
- };
 
- var parserInitializer = (function() {
 
-   var createdParser,
 
-       parserErr,
 
-       queuedCallbacks = [],
 
-       that = {};
 
-   that.setParser = function(err, parser) {
 
-     parserErr = err;
 
-     createdParser = parser;
 
-     queuedCallbacks.forEach(function(callback) {
 
-       callback(parserErr, createdParser);
 
-     });
 
-     queuedCallbacks = [];
 
-   };
 
-   that.addCallback = function(callback) {
 
-     if(parserErr || createdParser) {
 
-       callback(parserErr, createdParser);
 
-     } else {
 
-       queuedCallbacks.push(callback);
 
-       createParser(that);
 
-     }
 
-   };
 
-   that.reset = function() {
 
-     createdParser = null;
 
-   };
 
-   return that;
 
- })();
 
- var parse = function(selector, callback) {
 
-   parserInitializer.addCallback(function(err, parser) {
 
-     if(err) {
 
-       callback(err);
 
-     } else {
 
-       parser.parse(selector, 'selectors_group', function(err, css) {
 
-         if(err) {
 
-           callback(err);
 
-         } else {
 
-           //callback(null, css.toString());
 
-           callback(null, css.join(''));
 
-         }
 
-       });
 
-     }
 
-   });
 
- };
 
- module.exports.parse = parse;
 
- module.exports.reset = parserInitializer.reset;
 
- var ssss = 'a,\nb';
 
- console.log(ssss);
 
- parse(ssss, function(err, shiznit) {
 
-   if(err) {
 
-     console.log(err);
 
-   }
 
-   console.log(shiznit);
 
- });
 
 
  |