/// <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); }
/// <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 }); }
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 }); }