Click here to Skip to main content
15,893,588 members
Articles / Containers / Virtual Machine

Conscript IDE: An Integrated Development Environment (IDE) implementation for the Conscript scripting language

Rate me:
Please Sign up or sign in to vote.
4.90/5 (23 votes)
4 Sep 2008CPOL4 min read 101K   2.2K   158  
The third and final article in the Conscript .NET scripting engine article series.
using System;
using System.Collections.Generic;
using System.Text;

namespace Conscript.Compiler
{
    /// <summary>
    /// Exception for script parsing errors.
    /// </summary>
    public class ParserException
        : ConscriptException
    {
        #region Private Variables

        private Token m_token;

        #endregion

        #region Public Methods

        /// <summary>
        /// Constructs an exception.
        /// </summary>
        public ParserException()
            : base()
        {
            m_token = null;
        }

        /// <summary>
        /// Constructs an exception with the given message.
        /// </summary>
        /// <param name="strMessage">Exception message.</param>
        public ParserException(String strMessage)
            : base(strMessage)
        {
            m_token = null;
        }

        /// <summary>
        /// Constructs an exception with the given message
        /// and inner exception reference.
        /// </summary>
        /// <param name="strMessage">Exception message.</param>
        /// <param name="exceptionInner">Inner exception reference.</param>
        public ParserException(String strMessage, Exception exceptionInner)
            : base(strMessage, exceptionInner)
        {
            m_token = null;
        }

        /// <summary>
        /// Constructs an exception with the given message and
        /// parsing token.
        /// </summary>
        /// <param name="strMessage">Exception message.</param>
        /// <param name="token">Parsing token related to the
        /// exception.</param>
        public ParserException(String strMessage, Token token)
            : base(strMessage + " Line " + token.SourceLine
                + ", character "+token.SourceCharacter+": "
                + token.SourceText)
        {
            m_token = token;
        }

        #endregion
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Malta Malta
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions