コード例 #1
0
ファイル: LexerTests.cs プロジェクト: ajlopez/AjSharp
        private static void ParseTokens(string text, TokenType type)
        {
            Lexer lexer = new Lexer(text);
            string[] values = text.Split(' ');
            Token token;

            foreach (string value in values)
            {
                token = lexer.NextToken();

                Assert.IsNotNull(token);

                Assert.AreEqual(type, token.TokenType);
                Assert.AreEqual(value, token.Value);
            }

            Assert.IsNull(lexer.NextToken());
        }
コード例 #2
0
ファイル: LexerTests.cs プロジェクト: ajlopez/AjSharp
        private static void ParseNameTokens(string text, params string[] values)
        {
            Lexer lexer = new Lexer(text);
            Token token;

            foreach (string value in values)
            {
                token = lexer.NextToken();

                Assert.IsNotNull(token);

                Assert.AreEqual(TokenType.Name, token.TokenType);
                Assert.AreEqual(value, token.Value);
            }

            Assert.IsNull(lexer.NextToken());
        }
コード例 #3
0
ファイル: LexerTests.cs プロジェクト: ajlopez/AjSharp
        private static void ParseToken(string text, TokenType type, string value)
        {
            using (Lexer lexer = new Lexer(text))
            {
                Token token = lexer.NextToken();

                Assert.IsNotNull(token);

                Assert.AreEqual(type, token.TokenType);
                Assert.AreEqual(value, token.Value);

                Assert.IsNull(lexer.NextToken());
            }
        }
コード例 #4
0
ファイル: Parser.cs プロジェクト: ajlopez/AjSharp
 public Parser(Lexer lexer)
 {
     this.lexer = lexer;
 }