示例#1
0
        public Ruleset Parse(string input, string fileName, Env env)
        {
            Ruleset root = null;

            FileName = fileName;

            try
            {
                Tokenizer.SetupInput(input, fileName);

                var parsers = new CartoParsers(NodeProvider, env);
                root = new Root(parsers.Primary(this), e => GenerateParserError(e));
            }
            catch (ParsingException e)
            {
                throw GenerateParserError(e);
            }

            if (!Tokenizer.HasCompletedParsing())
            {
                throw GenerateParserError(new ParsingException("Content after finishing parsing (missing opening bracket?)", Tokenizer.GetNodeLocation(Tokenizer.Location.Index)));
            }

            return(root);
        }
    public Ruleset Parse(string input, string fileName, Env env)
    {
      Ruleset root = null;
      FileName = fileName;

      try
      {
        Tokenizer.SetupInput(input, fileName);

        var parsers = new CartoParsers(NodeProvider, env);
        root = new Root(parsers.Primary(this), e => GenerateParserError(e));
      }
      catch (ParsingException e)
      {
        throw GenerateParserError(e);
      }

      if (!Tokenizer.HasCompletedParsing())
        throw GenerateParserError(new ParsingException("Content after finishing parsing (missing opening bracket?)", Tokenizer.GetNodeLocation(Tokenizer.Location.Index)));

      return root;
    }