1 2 /* 3 * File LispLexer.hpp. 4 * 5 * This file is part of the source code of the software program 6 * Vampire. It is protected by applicable 7 * copyright laws. 8 * 9 * This source code is distributed under the licence found here 10 * https://vprover.github.io/license.html 11 * and in the source directory 12 * 13 * In summary, you are allowed to use Vampire for non-commercial 14 * purposes but not allowed to distribute, modify, copy, create derivatives, 15 * or use in competitions. 16 * For other uses of Vampire please contact developers for a different 17 * licence, which we will make an effort to provide. 18 */ 19 /** 20 * @file LispLexer.hpp 21 * Defines class LispLexer for lexical analysis of LISP files 22 * 23 * @since 25/08/2009 Redmond 24 */ 25 26 #ifndef __LispLexer__ 27 #define __LispLexer__ 28 29 #include <iostream> 30 #include "Lexer.hpp" 31 32 using namespace std; 33 34 namespace Shell { 35 36 /** 37 * Class LispLexer, implements a LispLexer. 38 * @since 25/08/2009 Redmond 39 */ 40 class LispLexer 41 : public Lexer 42 { 43 public: 44 LispLexer(istream& in); 45 void readToken (Token&); ~LispLexer()46 ~LispLexer () {} 47 48 private: 49 void skipWhiteSpacesAndComments(); 50 void readName(Token&); 51 void readQuotedString(Token&, char opening, char closing, char escape); 52 }; // class LispLexer 53 54 } 55 56 #endif 57 58