Annotation of parser3/src/main/pa_symbols.C, revision 1.3
1.1 moko 1: /** @file
2: Parser: static symbols cache implementation.
3: Copyright (c) 2001-2015 Art. Lebedev Studio (http://www.artlebedev.com)
4: */
5:
1.2 moko 6: #include "pa_symbols.h"
7: #include "pa_vstring.h"
1.1 moko 8:
1.3 ! moko 9: volatile const char * IDENT_PA_SYMBOLS_C="$Id: pa_symbols.C,v 1.2 2016/05/24 12:36:57 moko Exp $" IDENT_PA_SYMBOLS_H;
1.1 moko 10:
1.3 ! moko 11: const String Symbols::result("result");
! 12: const String Symbols::caller("caller");
! 13: const String Symbols::self("self");
! 14:
! 15: #ifdef SYMBOLS_CACHING
! 16:
! 17: Symbols *symbols=0;
1.1 moko 18:
19: void Symbols::add(const String &astring){
20: put_dont_replace(astring,new VString(astring));
21: }
22:
1.3 ! moko 23: void Symbols::set(const String &astring){
! 24: put(astring,new VString(astring));
1.1 moko 25: }
26:
27: Symbols &Symbols::instance(){
1.3 ! moko 28: static Symbols singleton;
! 29: return singleton;
! 30: }
! 31:
! 32: void Symbols::init(){
! 33: symbols=&instance();
! 34:
! 35: symbols->add(result);
! 36: symbols->add(caller);
! 37: symbols->add(self);
1.1 moko 38: }
1.3 ! moko 39:
! 40: #endif // SYMBOLS_CACHING
E-mail: