Added quoted string, single quoted string, and comma lexing
This commit is contained in:
		@@ -10,7 +10,7 @@
 | 
			
		||||
//#include "eval.hpp"
 | 
			
		||||
 | 
			
		||||
class TokenType { public: enum Type { Whitespace, Identifier, Number, Operator, Parens_Open, Parens_Close,
 | 
			
		||||
    Square_Open, Square_Close, Curly_Open, Curly_Close }; };
 | 
			
		||||
    Square_Open, Square_Close, Curly_Open, Curly_Close, Comma, Quoted_String, Single_Quoted_String }; };
 | 
			
		||||
 | 
			
		||||
void debug_print(std::vector<Token> &tokens) {
 | 
			
		||||
    for (unsigned int i = 0; i < tokens.size(); ++i) {
 | 
			
		||||
@@ -33,7 +33,10 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
    lexer << Pattern("\\]", TokenType::Square_Close);
 | 
			
		||||
    lexer << Pattern("\\{", TokenType::Curly_Open);
 | 
			
		||||
    lexer << Pattern("\\}", TokenType::Curly_Close);
 | 
			
		||||
    lexer << Pattern(",", TokenType::Comma);
 | 
			
		||||
    lexer << Pattern("[!@#$%^&*\\-+=/<>]+", TokenType::Operator);
 | 
			
		||||
    lexer << Pattern("\"(?:[^\"\\\\]|\\\\.)*\"", TokenType::Quoted_String);
 | 
			
		||||
    lexer << Pattern("'(?:[^'\\\\]|\\\\.)*'", TokenType::Single_Quoted_String);
 | 
			
		||||
 | 
			
		||||
    std::cout << "Expression> ";
 | 
			
		||||
    std::getline(std::cin, input);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user