Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows;
- using System.IO;
- namespace Guido
- {
- class LexTest
- {
- Tokens tokens;
- Lexer lexer;
- public Tokens Tokens
- {
- get
- {
- return tokens;
- }
- }
- public bool Succeeded
- {
- get
- {
- return lexer.Succeeded;
- }
- }
- public LexTest(string Source)
- {
- TokenTypes ttypes = new TokenTypes();
- ttypes.Add(new LiteralTokenType("open_paren", "(", true, false, true));
- ttypes.Add(new LiteralTokenType("close_paren", ")", true, false, true));
- ttypes.Add(new LiteralTokenType("open_brace", "{", true, false, true));
- ttypes.Add(new LiteralTokenType("close_brace", "}", true, false, true));
- ttypes.Add(new LiteralTokenType("space", " ", false, false, true));
- ttypes.Add(new LiteralTokenType("comma", ",", true, false, true));
- ttypes.Add(new LiteralTokenType("open_square_bracket", "[", true, false, true));
- ttypes.Add(new LiteralTokenType("close_square_bracket", "]", true, false, true));
- ttypes.Add(new LiteralTokenType("equal", "=", true, false, true));
- ttypes.Add(new LiteralTokenType("line_break", "\r\n", false, true, true));
- ttypes.Add(new LiteralTokenType("tab", "\t", false, false, true));
- ttypes.Add(new CharFromRangeTokenType("identifier", CharRange.ArrayFromType(CharRangeType.Letter)));
- ttypes.Add(new CharFromRangeTokenType("number", CharRange.ArrayFromType(CharRangeType.Number)));
- ttypes.Add(new LiteralTokenType("function", "function", true, false, true));
- ttypes.Add(new StringTokenType("string", "\""));
- lexer = new Lexer(ttypes, Source);
- lexer.FailAtUndefinedTokens = true;
- tokens = lexer.Tokenize();
- }
- }
- }
Add Comment
Please, Sign In to add comment