PageRenderTime 19ms CodeModel.GetById 17ms app.highlight 2ms RepoModel.GetById 0ms app.codeStats 0ms

/LispEnvironment.h

https://bitbucket.org/hardtack/resoup
C Header | 33 lines | 24 code | 1 blank | 8 comment | 0 complexity | 70c4c0b9d96f0c027efb544ad10bf2f8 MD5 | raw file
 1/*
 2 *  LispEnvironment.h
 3 *  Resoup
 4 *
 5 *  Created by ??? on 10. 8. 17..
 6 *  Copyright 2010 Unplug. All rights reserved.
 7 *
 8 */
 9#ifndef _LISP_ENVIRONMENT_H_
10#define _LISP_ENVIRONMENT_H_
11#include "LispSymbolValuePair.h"
12#include "LispSymbol.h"
13#include "Exceptions.h"
14#include "LispObject.h"
15
16class LispEnvironment{
17	private:
18		LispSymbolValuePair **symbols;
19		LispEnvironment *parent;
20		int size;
21		static int stackSize;
22		void setOperatorsAndEtc(LispEnvironment *env);
23		LispSymbolValuePair* getSymbolPointer(const char *name)throw (SymbolNotFoundException &);
24	public:
25		LispEnvironment(LispEnvironment *parent);
26		~LispEnvironment();
27		void addSymbolValuePair(LispSymbolValuePair *pair);
28		LispObject* findObject(LispSymbol *symbol)throw (SymbolNotFoundException &);
29		LispSymbolValuePair** getSymbolValuePairDoublePointer(const char *name)throw (SymbolNotFoundException &);
30		void show();
31		void show(const unsigned short indent);	
32};
33#endif