Changeset 22016

Show
Ignore:
Timestamp:
08/22/08 22:40:36 (3 months ago)
Author:
pmurias
Message:

[mold] reverted ruoso's change to identifier, might have made the CMakeLists work with preivous versions of cmake

Location:
v6/smop
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • v6/smop/CMakeLists.txt

    r22015 r22016  
    11project (smop) 
     2SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE ) 
    23cmake_minimum_required (VERSION 2.6) 
    34include_directories (${smop_SOURCE_DIR}/include) 
     
    1718        COMMAND ${CABAL} ARGS build --distpref=${CMAKE_CURRENT_BINARY_DIR}/cabal_dist 
    1819        COMMAND cp ARGS ${CMAKE_CURRENT_BINARY_DIR}/cabal_dist/build/m0ld/m0ld ${CMAKE_CURRENT_BINARY_DIR}/m0ld_exe 
     20        DEPENDS ${smop_SOURCE_DIR}/m0ld/M0ld.hs 
    1921    ) 
    2022 
  • v6/smop/m0ld/M0ld.hs

    r22015 r22016  
    2323identifier = do 
    2424    first <- choice [alphaNum, char '_'] 
    25     rest <- many1 $ choice [alphaNum, char '_', digit, char '^', char '!'] 
     25    rest <- many1 $ choice [alphaNum, char '_', digit , char '!'] 
    2626    return $ [first] ++ rest 
    2727 
     
    8989        Nothing -> 
    9090            do  
    91                 let new = "xxx"++(show $ Map.size decls) 
     91                let new = "___implicit_register___"++(show $ Map.size decls) 
    9292                updateState $ Map.insert c new 
    9393                decls <- getState 
  • v6/smop/src/smop_mold.c

    r22015 r22016  
    129129static SMOP__Object* get_register(SMOP__Object* interpreter,smop_mold_frame* frame) { 
    130130  smop_mold* mold = (smop_mold*) frame->mold; 
    131   //printf("reading register %d from position %d\n",mold->opcodes[frame->position],frame->position); 
    132131  if (!frame->registers[mold->opcodes[frame->position]]) { 
    133132    printf("reading empty register %d\n",mold->opcodes[frame->position]); 
     
    200199  } else if (SMOP__ID__eval == identifier) { 
    201200    int op = mold->opcodes[frame->position]; 
    202     //printf("op: %d\n",op); 
    203201    if (op) { 
    204       //int from = frame->position; //for tracing 
    205202      frame->position++; 
    206203      ret = SMOP__NATIVE__bool_true; 
     
    232229          free(call_pos); 
    233230          SMOP__Object* ret = SMOP_DISPATCH(interpreter,SMOP_RI(call_invocant),call_identifier,capture); 
    234           //printf("got %p putting it into %d\n",ret,target); 
    235231          if (frame->registers[target]) { 
    236232            SMOP_RELEASE(interpreter,frame->registers[target]); 
     
    292288      } 
    293289 
    294       /* 
    295         for (i=from;i<frame->position;i++) { 
    296         printf("%d ",mold->opcodes[i]); 
    297       } 
    298       printf("\n"); 
    299       for (i=0;i<mold->registers;i++) { 
    300         if (frame->registers[i]) { 
    301           printf("%d = %s\n",i,frame->registers[i]->RI->id); 
    302         } else { 
    303           printf("%d = (null)\n",i,frame->registers[i]); 
    304         } 
    305       }*/ 
    306290    } else { 
    307291      ret = SMOP__NATIVE__bool_false;