예제 #1
0
        /// <summary>
        /// construct a preparse event args from parser and scanner
        /// </summary>
        /// <param name="parser"></param>
        /// <param name="scanner"></param>
        public PreParseEventArgs(NonTerminalParser parser, IScanner scanner)
        {
            if (parser == null)
            {
                throw new ArgumentNullException("parser");
            }
            if (scanner == null)
            {
                throw new ArgumentNullException("scanner");
            }

            m_Parser  = parser;
            m_Scanner = scanner;
        }
예제 #2
0
        /// <summary>
        /// Constructs a post parse event args
        /// </summary>
        /// <param name="match"></param>
        /// <param name="parser"></param>
        /// <param name="scanner"></param>
        public PostParseEventArgs(ParserMatch match, NonTerminalParser parser, IScanner scanner)
        {
            if (match == null)
            {
                throw new ArgumentNullException("match");
            }
            if (parser == null)
            {
                throw new ArgumentNullException("parser");
            }
            if (scanner == null)
            {
                throw new ArgumentNullException("scanner");
            }

            m_Match   = match;
            m_Parser  = parser;
            m_Scanner = scanner;
        }
예제 #3
0
 public PreParseEventArgs(NonTerminalParser parser, IScanner scanner)
 {
     this.Parser  = parser ?? throw new ArgumentNullException(nameof(parser));
     this.Scanner = scanner ?? throw new ArgumentNullException(nameof(scanner));
 }
예제 #4
0
 public PostParseEventArgs(ParserMatch match, NonTerminalParser parser, IScanner scanner)
 {
     this.Match   = match ?? throw new ArgumentNullException(nameof(match));
     this.Parser  = parser ?? throw new ArgumentNullException(nameof(parser));
     this.Scanner = scanner ?? throw new ArgumentNullException(nameof(scanner));
 }