Exemple #1
0
        public AbstractTokenDefinitionTests()
        {
            ReservedProvider = new ReservedRegexProvider();
            OperatorProvider = new OperatorRegexProvider();
            SyntaxProvider   = new SyntaxOperatorRegexProvider();

            IntegerRegex    = RegexWrapper.DefaultWrap(@"\d+\b");
            StringRegex     = RegexWrapper.DefaultWrap("\"{1}(?:(?:[^\"\\\\]|(?:\\\\[tn\"'\\\\]))+)\"{1}");
            IdentifierRegex = RegexWrapper.DefaultWrap(@"(?:_+[a-zA-Z\d]\w*)|(?:[a-zA-Z]\w*)");
        }
Exemple #2
0
 static ShaderManager()
 {
     m_Initialized              = false;
     m_Shaders                  = new Dictionary <string, ShaderWrapper>();
     m_ConstantBuffers          = new Dictionary <string, CustomConstantBufferDefinition>();
     m_Watchers                 = new List <FileSystemWatcher>();
     m_CurrentlyProcessedShader = null;
     m_SamplerStates            = new Dictionary <int, SamplerState>();
     m_Lock          = new Object();
     m_FilesToReload = new HashSet <string>();
     regexWrapper    = new RegexWrapper();
 }
 static ShaderManager()
 {
     m_Initialized = false;
     m_Shaders = new Dictionary<string, ShaderWrapper>();
     m_ConstantBuffers = new Dictionary<string, CustomConstantBufferDefinition>();
     m_Watchers = new List<FileSystemWatcher>();
     m_SamplerStates = new Dictionary<int, SamplerState>();
     m_Lock = new Object();
     m_FilesToReload = new HashSet<string>();
     m_RegexWrapper = new RegexWrapper();
     m_GlobalDefineValues = new Dictionary<string, float>();
     m_AllShaderFiles = new Dictionary<String, ShaderFile>();
 }
Exemple #4
0
 static ShaderManager()
 {
     m_Initialized        = false;
     m_Shaders            = new Dictionary <string, ShaderWrapper>();
     m_ConstantBuffers    = new Dictionary <string, CustomConstantBufferDefinition>();
     m_Watchers           = new List <FileSystemWatcher>();
     m_SamplerStates      = new Dictionary <int, SamplerState>();
     m_Lock               = new Object();
     m_FilesToReload      = new HashSet <string>();
     m_RegexWrapper       = new RegexWrapper();
     m_GlobalDefineValues = new Dictionary <string, float>();
     m_AllShaderFiles     = new Dictionary <String, ShaderFile>();
 }
Exemple #5
0
        private string[] filterPathsByRegex(string[] filePaths)
        {
            ListWrapper <string> mathes = new ListWrapper <string>();

            foreach (string filePath in filePaths)
            {
                if (RegexWrapper.IsMatch(filePath, this.rule))
                {
                    mathes.AddBack(filePath);
                }
            }
            return(mathes.ToArray());
        }
        public void TokenDefinition_IsInvalid1()
        {
            var input = "fake_int a=32;";

            var reservedRegex = RegexWrapper.DefaultWrap(ReservedProvider.GetPattern());

            var tokenDefinition = new TokenDefinition(TokenType.Reserved, reservedRegex);

            var match = tokenDefinition.Match(input);

            Assert.IsFalse(match.IsMatch);
            Assert.IsNull(match.Value);
            Assert.IsNull(match.RemainingText);
            Assert.AreEqual(TokenType.Invalid, match.TokenType);
        }
        public void TokenDefinition_IsReserved_Integer()
        {
            var input = "int a=32;";

            var reservedRegex = RegexWrapper.DefaultWrap(ReservedProvider.GetPattern());

            var tokenDefinition = new TokenDefinition(TokenType.Reserved, reservedRegex);

            var match = tokenDefinition.Match(input);

            Assert.IsTrue(match.IsMatch);
            Assert.AreEqual("int", match.Value);
            Assert.AreEqual(" a=32;", match.RemainingText);
            Assert.AreEqual(TokenType.Reserved, match.TokenType);
        }
        public void TokenDefinition_IsReserved_ReturnWithNewline()
        {
            var input = "return\nasdf";

            var reservedRegex = RegexWrapper.DefaultWrap(ReservedProvider.GetPattern());

            var tokenDefinition = new TokenDefinition(TokenType.Reserved, reservedRegex);

            var match = tokenDefinition.Match(input);

            Assert.IsTrue(match.IsMatch);
            Assert.AreEqual("return", match.Value);
            Assert.AreEqual("\nasdf", match.RemainingText);
            Assert.AreEqual(TokenType.Reserved, match.TokenType);
        }
Exemple #9
0
        public void TokenDefinition_IsOperator2()
        {
            string[] input =
            {
                "{ 3 }"
            };

            var syntaxRegex = RegexWrapper.DefaultWrap(SyntaxProvider.GetPattern());

            var tokenDefinition = new TokenDefinition(TokenType.SyntaxOperator, syntaxRegex);
            var tokensGenerated = _tokenizer.Tokenize(input).ToList();

            var operatorTokens = tokensGenerated.Where(t => t.TokenType == TokenType.SyntaxOperator).ToList();

            Assert.IsTrue(operatorTokens.Any());
            Assert.AreEqual(2, operatorTokens.Count());
            Assert.IsNotNull(operatorTokens.FirstOrDefault(t => t.Value == "{"));
            Assert.IsNotNull(operatorTokens.FirstOrDefault(t => t.Value == "}"));
        }
Exemple #10
0
        public void TokenDefinition_IsOperator_Arithmetic()
        {
            string[] input =
            {
                "2 * 5",
                "=="
            };

            var operatorRegex = RegexWrapper.DefaultWrap(OperatorProvider.GetPattern());

            var tokenDefinition = new TokenDefinition(TokenType.ArithmeticAndLogicOperator, operatorRegex);
            var tokensGenerated = _tokenizer.Tokenize(input).ToList();

            var operatorTokens = tokensGenerated.Where(t => t.TokenType == TokenType.ArithmeticAndLogicOperator).ToList();

            Assert.IsTrue(operatorTokens.Any());
            Assert.AreEqual(2, operatorTokens.Count());
            Assert.IsNotNull(operatorTokens.FirstOrDefault(t => t.Value == "*"));
            Assert.IsNotNull(operatorTokens.FirstOrDefault(t => t.Value == "=="));
        }