コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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();
        }
コード例 #3
0
 /// <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()
     });
 }