/// <summary> /// Construct an <see cref="LSLCodeValidator" /> using <see cref="LSLCodeValidatorStrategies.Default(ILSLBasicLibraryDataProvider, ILSLSyntaxErrorListener, ILSLSyntaxWarningListener)" /> to initialize /// the <see cref="ValidatorStrategies" /> property. /// </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 warning error listener to use.</param> /// <seealso cref="LSLCodeValidatorStrategies.Default()"/> public LSLCodeValidator(ILSLBasicLibraryDataProvider libraryDataProvider, ILSLSyntaxErrorListener errorListener, ILSLSyntaxWarningListener warningListener) { var validatorStrategies = LSLCodeValidatorStrategies.Default(libraryDataProvider, errorListener, warningListener); _validatorVisitor = new LSLCodeValidatorVisitor(validatorStrategies); _antlrParserErrorHandler = new LSLAntlrErrorHandler(validatorStrategies.SyntaxErrorListener); }
/// <summary> /// Construct an <see cref="LSLOpenSimCompiler" /> using the default settings and the provided /// <see cref="ILSLLibraryDataProvider" /> object. /// </summary> /// <param name="libraryDataProvider">An <see cref="ILSLBasicLibraryDataProvider" /> implementation.</param> /// <exception cref="ArgumentNullException"><paramref name="libraryDataProvider" /> is <c>null</c>.</exception> public LSLOpenSimCompiler(ILSLBasicLibraryDataProvider libraryDataProvider) { if (libraryDataProvider == null) { throw new ArgumentNullException("libraryDataProvider"); } _visitor.LibraryDataProvider = libraryDataProvider; Settings = new LSLOpenSimCompilerSettings(); }
/// <summary> /// Returns LibLSLCC's default <see cref="LSLCodeValidatorStrategies" /> setup. /// Allows the use of custom <see cref="ILSLBasicLibraryDataProvider"/>. /// </summary> /// <param name="libraryDataProvider">The library data provider to use.</param> /// <returns>LibLSLCC's default <see cref="LSLCodeValidatorStrategies" /> setup</returns> public static LSLCodeValidatorStrategies Default(ILSLBasicLibraryDataProvider libraryDataProvider) { return(new LSLCodeValidatorStrategies { SyntaxErrorListener = new LSLDefaultSyntaxErrorListener(), ExpressionValidator = new LSLDefaultExpressionValidator(), LibraryDataProvider = libraryDataProvider, StringLiteralPreProcessor = new LSLDefaultStringPreProcessor(), SyntaxWarningListener = new LSLDefaultSyntaxWarningListener() }); }