Esempio n. 1
0
        InkParser(string str, string inkFilename = null, Ink.ErrorHandler externalErrorHandler = null, InkParser rootParser = null, IFileHandler fileHandler = null) : base(str)
        {
            _filename = inkFilename;
            RegisterExpressionOperators();
            GenerateStatementLevelRules();
            this.errorHandler     = OnError;
            _externalErrorHandler = externalErrorHandler;
            _fileHandler          = fileHandler;

            if (rootParser == null)
            {
                _rootParser = this;

                _openFilenames = new HashSet <string> ();

                if (inkFilename != null)
                {
                    var fullRootInkPath = _fileHandler.ResolveInkFilename(inkFilename);
                    _openFilenames.Add(fullRootInkPath);
                }
            }
            else
            {
                _rootParser = rootParser;
            }
        }
Esempio n. 2
0
        InkParser(string str, string inkFilename = null, Ink.ErrorHandler externalErrorHandler = null, InkParser rootParser = null) : base(str)
        {
            _filename = inkFilename;
            RegisterExpressionOperators();
            GenerateStatementLevelRules();
            this.errorHandler     = OnError;
            _externalErrorHandler = externalErrorHandler;

            if (rootParser == null)
            {
                _rootParser = this;

                _openFilenames = new HashSet <string> ();

                if (inkFilename != null)
                {
                    var workingDir      = Directory.GetCurrentDirectory();
                    var fullRootInkPath = Path.Combine(workingDir, inkFilename);

                    _openFilenames.Add(fullRootInkPath);
                }
            }
            else
            {
                _rootParser = rootParser;
            }
        }
Esempio n. 3
0
        InkParser(string str, string inkFilename = null, Ink.ErrorHandler externalErrorHandler = null, InkParser rootParser = null, IFileHandler fileHandler = null) : base(str)
        {
            _filename = inkFilename;
            RegisterExpressionOperators();
            GenerateStatementLevelRules();

            // Built in handler for all standard parse errors and warnings
            this.errorHandler = OnStringParserError;

            // The above parse errors are then formatted as strings and passed
            // to the Ink.ErrorHandler, or it throws an exception
            _externalErrorHandler = externalErrorHandler;

            _fileHandler = fileHandler ?? new DefaultFileHandler();

            if (rootParser == null)
            {
                _rootParser = this;

                _openFilenames = new HashSet <string> ();

                if (inkFilename != null)
                {
                    var fullRootInkPath = _fileHandler.ResolveInkFilename(inkFilename);
                    _openFilenames.Add(fullRootInkPath);
                }
            }
            else
            {
                _rootParser = rootParser;
            }
        }
Esempio n. 4
0
        InkParser(string str, string inkFilename = null, Ink.ErrorHandler externalErrorHandler = null, InkParser rootParser = null)
            : base(str)
        {
            _filename = inkFilename;
            RegisterExpressionOperators ();
            GenerateStatementLevelRules ();
            this.errorHandler = OnError;
            _externalErrorHandler = externalErrorHandler;

            if (rootParser == null) {
                _rootParser = this;

                _openFilenames = new HashSet<string> ();

                if (inkFilename != null) {

                    var workingDir = Directory.GetCurrentDirectory();
                    var fullRootInkPath = Path.Combine (workingDir, inkFilename);

                    _openFilenames.Add (fullRootInkPath);
                }

            } else {
                _rootParser = rootParser;
            }
        }
Esempio n. 5
0
 public InkParser(string str, string filenameForMetadata = null, string rootDirectory = null, Ink.ErrorHandler externalErrorHandler = null) : base(str)
 {
     _filename      = filenameForMetadata;
     _rootDirectory = rootDirectory;
     RegisterExpressionOperators();
     GenerateStatementLevelRules();
     this.errorHandler     = OnError;
     _externalErrorHandler = externalErrorHandler;
 }
Esempio n. 6
0
 public InkParser(string str, string filenameForMetadata = null, Ink.ErrorHandler externalErrorHandler = null, IFileHandler fileHandler = null)
     : this(str, filenameForMetadata, externalErrorHandler, null, fileHandler)
 {
 }