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: