Changeset 154 for trunk/orca

Show
Ignore:
Timestamp:
05/17/06 15:48:03 (3 years ago)
Author:
krobillard
Message:

Orca - Replaced atom variables with fixed atom defines.

Location:
trunk/orca
Files:
1 added
6 modified

Legend:

Unmodified
Added
Removed
  • trunk/orca/context.c

    r144 r154  
    2323#include "ovalue.h" 
    2424#include "internal.h" 
     25#include "orca_atoms.h" 
    2526 
    2627 
     
    321322    // Intern words. 
    322323    it = pblk->values + blkI; 
    323     orInternA( wblk, orEnv->atom_self ); 
     324    orInternA( wblk, OR_ATOM_SELF ); 
    324325    internSetWords( ctx, it, end ); 
    325326 
     
    572573            (it->type == OT_GETWORD) ) 
    573574        { 
    574             if( (orAtom(it) == orEnv->atom_func) || 
    575                 (orAtom(it) == orEnv->atom_does) ) 
     575            if( (orAtom(it) == OR_ATOM_FUNC) || 
     576                (orAtom(it) == OR_ATOM_DOES) ) 
    576577                return 1; 
    577578        } 
  • trunk/orca/error.c

    r94 r154  
    2222#include "ovalue.h" 
    2323#include "internal.h" 
     24#include "orca_atoms.h" 
    2425 
    2526 
     
    116117        OValue* tval; 
    117118 
    118         val = orLookupPath( OT_WORD, orEnv->atom_system, 
    119                             OT_WORD, orEnv->atom_error, 
     119        val = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
     120                            OT_WORD, OR_ATOM_ERROR, 
    120121                            OR_LPATH_END ); 
    121122        if( val && orIs(val, OT_OBJECT) ) 
     
    151152 
    152153 
    153             tval = orLookupPath( OT_WORD, orEnv->atom_system, 
    154                                  OT_WORD, orEnv->atom_error_types, 
     154            tval = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
     155                                 OT_WORD, OR_ATOM_ERROR_TYPES, 
    155156                                 OR_LPATH_END ); 
    156157            ++val; 
  • trunk/orca/gc.c

    r143 r154  
    2222#include "ovalue.h" 
    2323#include "internal.h" 
     24#include "orca_atoms.h" 
    2425 
    2526 
     
    364365    OValue* val; 
    365366 
    366     val = orLookupPath( OT_WORD, orEnv->atom_system, 
    367                         OT_WORD, orEnv->atom_script, 
     367    val = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
     368                        OT_WORD, OR_ATOM_SCRIPT, 
    368369                        OR_LPATH_END ); 
    369370    if( val && orIs(val, OT_OBJECT ) ) 
  • trunk/orca/ovalue.c

    r153 r154  
    2222#include "ovalue.h" 
    2323#include "internal.h" 
     24#include "orca_atoms.h" 
    2425 
    2526#ifdef OR_CONFIG_MATH3D 
    2627#include <math3d.h> 
    2728#endif 
     29 
     30 
     31//#define MAKE_ATOM_HEADER    1 
     32 
    2833 
    2934static const char* _datatypes[] = 
     
    310315 
    311316 
     317#if MAKE_ATOM_HEADER 
     318#define FIXED_ATOM(str,len,def) \ 
     319    printf( "#define %s\t\t%d\n", #def, orInternAtom(str,len) ); 
     320#else 
     321#ifdef DEBUG 
     322#define FIXED_ATOM(str,len,def)     assert( orInternAtom(str,len) == def ); 
     323#else 
     324#define FIXED_ATOM(str,len,def)     orInternAtom(str,len); 
     325#endif 
     326#endif 
     327 
     328 
     329// Intern commonly used atoms. 
     330static void _createFixedAtoms() 
     331{ 
     332#if MAKE_ATOM_HEADER 
     333    printf( "// This file is automatically generated - do not edit.\n\n" ); 
     334#endif 
     335 
     336    FIXED_ATOM( "self",         4, OR_ATOM_SELF ) 
     337    FIXED_ATOM( "system",       6, OR_ATOM_SYSTEM ) 
     338    FIXED_ATOM( "script",       6, OR_ATOM_SCRIPT ) 
     339    FIXED_ATOM( "parent",       6, OR_ATOM_PARENT ) 
     340    FIXED_ATOM( "error",        5, OR_ATOM_ERROR ) 
     341    FIXED_ATOM( "error-types", 11, OR_ATOM_ERROR_TYPES ) 
     342    FIXED_ATOM( "catch",        5, OR_ATOM_CATCH ) 
     343    FIXED_ATOM( "throw",        5, OR_ATOM_THROW ) 
     344    FIXED_ATOM( "x",            1, OR_ATOM_X ) 
     345    FIXED_ATOM( "y",            1, OR_ATOM_Y ) 
     346    FIXED_ATOM( "z",            1, OR_ATOM_Z ) 
     347    FIXED_ATOM( "-",            1, OR_ATOM_DASH ) 
     348    FIXED_ATOM( "func",         4, OR_ATOM_FUNC ) 
     349    FIXED_ATOM( "does",         4, OR_ATOM_DOES ) 
     350 
     351    // Atoms used by parse. 
     352    FIXED_ATOM( "|",     1, OR_ATOM_BAR ) 
     353    FIXED_ATOM( "opt",   3, OR_ATOM_OPT ) 
     354    FIXED_ATOM( "some",  4, OR_ATOM_SOME ) 
     355    FIXED_ATOM( "any",   3, OR_ATOM_ANY ) 
     356    FIXED_ATOM( "break", 5, OR_ATOM_BREAK ) 
     357    FIXED_ATOM( "skip",  4, OR_ATOM_SKIP ) 
     358    FIXED_ATOM( "set",   3, OR_ATOM_SET ) 
     359    FIXED_ATOM( "copy",  4, OR_ATOM_COPY ) 
     360    FIXED_ATOM( "to",    2, OR_ATOM_TO ) 
     361    FIXED_ATOM( "thru",  4, OR_ATOM_THRU ) 
     362 
     363 
     364#if MAKE_ATOM_HEADER 
     365    exit(0); 
     366#endif 
     367} 
     368 
     369 
    312370/** 
    313371  Initialize scripting environment. 
     
    368426    makeGlobalContext(); 
    369427 
    370     orEnv->atom_self   = orInternAtom( "self",   4 ); 
    371     orEnv->atom_system = orInternAtom( "system", 6 ); 
    372     orEnv->atom_script = orInternAtom( "script", 6 ); 
    373     orEnv->atom_parent = orInternAtom( "parent", 6 ); 
    374     orEnv->atom_error  = orInternAtom( "error",  5 ); 
    375     orEnv->atom_error_types = orInternAtom( "error-types", 11 ); 
    376     orEnv->atom_catch  = orInternAtom( "catch", 5 ); 
    377     orEnv->atom_throw  = orInternAtom( "throw", 5 ); 
    378     orEnv->atom_x      = orInternAtom( "x", 1 ); 
    379     orEnv->atom_y      = orInternAtom( "y", 1 ); 
    380     orEnv->atom_z      = orInternAtom( "z", 1 ); 
    381     orEnv->atom_dash   = orInternAtom( "-", 1 ); 
    382     orEnv->atom_func   = orInternAtom( "func", 4 ); 
    383     orEnv->atom_does   = orInternAtom( "does", 4 ); 
    384  
    385     // Atoms used by parse. 
    386     orEnv->atom_opt    = orInternAtom( "opt",   3 ); 
    387     orEnv->atom_some   = orInternAtom( "some",  4 ); 
    388     orEnv->atom_any    = orInternAtom( "any",   3 ); 
    389     orEnv->atom_break  = orInternAtom( "break", 5 ); 
    390     orEnv->atom_skip   = orInternAtom( "skip",  4 ); 
    391     orEnv->atom_set    = orInternAtom( "set",   3 ); 
    392     orEnv->atom_copy   = orInternAtom( "copy",  4 ); 
    393     orEnv->atom_bar    = orInternAtom( "|",     1 ); 
    394     orEnv->atom_to     = orInternAtom( "to",    2 ); 
    395     orEnv->atom_thru   = orInternAtom( "thru",  4 ); 
     428    _createFixedAtoms(); 
    396429 
    397430 
     
    458491 
    459492    // Set system/words to global context. 
    460     val = orLookupPath( OT_WORD, orEnv->atom_system, 
     493    val = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
    461494                        OT_WORD, orInternAtom( "words", 5 ), 
    462495                        OR_LPATH_END ); 
     
    468501 
    469502    // Set system/os. 
    470     val = orLookupPath( OT_WORD, orEnv->atom_system, 
     503    val = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
    471504                        OT_WORD, orInternAtom( "os", 2 ), 
    472505                        OR_LPATH_END ); 
     
    13521385    OContext clone; 
    13531386 
    1354     script = orLookupPath( OT_WORD, orEnv->atom_system, 
    1355                            OT_WORD, orEnv->atom_script, 
     1387    script = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
     1388                           OT_WORD, OR_ATOM_SCRIPT, 
    13561389                           OR_LPATH_END ); 
    1357     proto  = orLookupPath( OT_WORD, orEnv->atom_system, 
     1390    proto  = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
    13581391                           OT_WORD, orInternAtom( "script-proto", 12 ), 
    13591392                           OR_LPATH_END ); 
     
    13811414    OBlock* blk; 
    13821415    OValue* sval; 
    1383     sval = orLookupPath( OT_WORD, orEnv->atom_system, 
    1384                          OT_WORD, orEnv->atom_script, 
     1416    sval = orLookupPath( OT_WORD, OR_ATOM_SYSTEM, 
     1417                         OT_WORD, OR_ATOM_SCRIPT, 
    13851418                         OR_LPATH_END ); 
    13861419    if( sval && orIs(sval, OT_OBJECT) ) 
     
    20502083            { 
    20512084                int n = -1; 
    2052                 if( pit->word.atom == orEnv->atom_x ) 
     2085                if( pit->word.atom == OR_ATOM_X ) 
    20532086                    n = 0; 
    2054                 else if( pit->word.atom == orEnv->atom_y ) 
     2087                else if( pit->word.atom == OR_ATOM_Y ) 
    20552088                    n = 1; 
    2056                 else if( pit->word.atom == orEnv->atom_z ) 
     2089                else if( pit->word.atom == OR_ATOM_Z ) 
    20572090                    n = 2; 
    20582091                if( n < 0 ) 
     
    39493982 
    39503983                case OT_WORD: 
    3951                     if( (it->word.atom == orEnv->atom_dash) && (range > -1) ) 
     3984                    if( (it->word.atom == OR_ATOM_DASH) && (range > -1) ) 
    39523985                    { 
    39533986                        int r2; 
     
    42174250        if( it->type == OT_WORD ) 
    42184251        { 
    4219             if( it->word.atom == orEnv->atom_throw ) 
     4252            if( it->word.atom == OR_ATOM_THROW ) 
    42204253                flags |= OR_FLAG_THROW; 
    4221             else if( it->word.atom == orEnv->atom_catch ) 
     4254            else if( it->word.atom == OR_ATOM_CATCH ) 
    42224255                flags |= OR_FLAG_CATCH; 
    42234256        } 
  • trunk/orca/ovalue.h

    r144 r154  
    310310    OValue*     error; 
    311311 
    312     OAtom       atom_self; 
    313     OAtom       atom_system; 
    314     OAtom       atom_script; 
    315     OAtom       atom_parent; 
    316     OAtom       atom_error; 
    317     OAtom       atom_error_types; 
    318     OAtom       atom_catch; 
    319     OAtom       atom_throw; 
    320     OAtom       atom_x; 
    321     OAtom       atom_y; 
    322     OAtom       atom_z; 
    323     OAtom       atom_dash; 
    324     OAtom       atom_func; 
    325     OAtom       atom_does; 
    326  
    327     OAtom       atom_opt; 
    328     OAtom       atom_some; 
    329     OAtom       atom_any; 
    330     OAtom       atom_break; 
    331     OAtom       atom_skip; 
    332     OAtom       atom_set; 
    333     OAtom       atom_copy; 
    334     OAtom       atom_bar; 
    335     OAtom       atom_to; 
    336     OAtom       atom_thru; 
    337  
    338312    OIndex      sweepStartAtom; 
    339313 
  • trunk/orca/parse.c

    r144 r154  
    2222#include "ovalue.h" 
    2323#include "charset.h" 
    24  
    25  
    26 #define OR_ATOM_OPT     orEnv->atom_opt 
    27 #define OR_ATOM_SOME    orEnv->atom_some 
    28 #define OR_ATOM_ANY     orEnv->atom_any 
    29 #define OR_ATOM_BREAK   orEnv->atom_break 
    30 #define OR_ATOM_SKIP    orEnv->atom_skip 
    31 #define OR_ATOM_SET     orEnv->atom_set 
    32 #define OR_ATOM_COPY    orEnv->atom_copy 
    33 #define OR_ATOM_BAR     orEnv->atom_bar 
    34 #define OR_ATOM_TO      orEnv->atom_to 
    35 #define OR_ATOM_THRU    orEnv->atom_thru 
     24#include "orca_atoms.h" 
    3625 
    3726