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