Example #1
0
        /// <summary>
        ///     Construct an <see cref="LSLCodeValidator" /> using <see cref="LSLCodeValidatorStrategies.Default(ILSLSyntaxErrorListener, ILSLSyntaxWarningListener)" /> to initialize
        ///     the <see cref="ValidatorStrategies" /> property.
        /// </summary>
        /// <param name="errorListener">The syntax error listener to use.</param>
        /// <param name="warningListener">The warning error listener to use.</param>
        /// <seealso cref="LSLCodeValidatorStrategies.Default()"/>
        public LSLCodeValidator(ILSLSyntaxErrorListener errorListener, ILSLSyntaxWarningListener warningListener)
        {
            var validatorStrategies = LSLCodeValidatorStrategies.Default(errorListener, warningListener);

            _validatorVisitor        = new LSLCodeValidatorVisitor(validatorStrategies);
            _antlrParserErrorHandler = new LSLAntlrErrorHandler(validatorStrategies.SyntaxErrorListener);
        }
Example #2
0
 /// <summary>
 ///     Construct a <see cref="LSLSyntaxListenerPriorityQueue" /> by wrapping another
 ///     <see cref="ILSLSyntaxErrorListener" /> and <see cref="ILSLSyntaxWarningListener" />
 /// </summary>
 /// <param name="invokeErrorsOn">
 ///     Syntax errors will be priority queued by their index in the source code and invoked on
 ///     this object.
 /// </param>
 /// <param name="invokeWarningsOn">
 ///     Syntax warnings will be priority queued by their index in the source code and invoked on
 ///     this object.
 /// </param>
 public LSLSyntaxListenerPriorityQueue(
     ILSLSyntaxErrorListener invokeErrorsOn,
     ILSLSyntaxWarningListener invokeWarningsOn)
 {
     SyntaxErrorListener   = invokeErrorsOn;
     SyntaxWarningListener = invokeWarningsOn;
 }
 /// <summary>
 ///     Returns LibLSLCC's default <see cref="LSLCodeValidatorStrategies" /> setup.
 ///     Allows the use of custom <see cref="ILSLSyntaxErrorListener"/> and <see cref="ILSLSyntaxWarningListener"/>.
 /// </summary>
 /// <param name="errorListener">The syntax error listener to use.</param>
 /// <param name="warningListener">The syntax warning listener to use.</param>
 /// <returns>LibLSLCC's default <see cref="LSLCodeValidatorStrategies" /> setup</returns>
 public static LSLCodeValidatorStrategies Default(ILSLSyntaxErrorListener errorListener, ILSLSyntaxWarningListener warningListener)
 {
     return(new LSLCodeValidatorStrategies
     {
         SyntaxErrorListener = errorListener,
         ExpressionValidator = new LSLDefaultExpressionValidator(),
         LibraryDataProvider =
             new LSLEmbeddedLibraryDataProvider(LSLLibraryBaseData.StandardLsl, LSLLibraryDataAdditions.None,
                                                false),
         StringLiteralPreProcessor = new LSLDefaultStringPreProcessor(),
         SyntaxWarningListener = warningListener
     });
 }
Example #4
0
 public LSLAntlrErrorHandler(ILSLSyntaxErrorListener errorListener)
 {
     _errorListener = errorListener;
 }
 /// <summary>
 ///     Returns LibLSLCC's default <see cref="LSLCodeValidatorStrategies" /> setup.
 ///     Allows the use of custom <see cref="ILSLBasicLibraryDataProvider"/>, <see cref="ILSLSyntaxErrorListener"/> and <see cref="ILSLSyntaxWarningListener"/>.
 /// </summary>
 /// <param name="libraryDataProvider">The library data provider to use.</param>
 /// <param name="errorListener">The syntax error listener to use.</param>
 /// <param name="warningListener">The syntax warning listener to use.</param>
 /// <returns>LibLSLCC's default <see cref="LSLCodeValidatorStrategies" /> setup</returns>
 public static LSLCodeValidatorStrategies Default(ILSLBasicLibraryDataProvider libraryDataProvider, ILSLSyntaxErrorListener errorListener, ILSLSyntaxWarningListener warningListener)
 {
     return(new LSLCodeValidatorStrategies
     {
         SyntaxErrorListener = errorListener,
         ExpressionValidator = new LSLDefaultExpressionValidator(),
         LibraryDataProvider = libraryDataProvider,
         StringLiteralPreProcessor = new LSLDefaultStringPreProcessor(),
         SyntaxWarningListener = warningListener
     });
 }