Nuprl Definition : C_TYPE-of-LVALUE

C_TYPE-of-LVALUE(env;lval) ==
  case lval is  
  Ground(loc) => env loc  
  aval[idx] => let case of aval in if isl(r)
               then if C_Array?(outl(r))
                    then if 0 ≤idx ∧b idx <C_Array-length(outl(r)) then inl C_Array-elems(outl(r)) else inr ⋅  fi 
                    else inr ⋅ 
                    fi 
               else inr ⋅ 
               fi   
  sval.comp =>  let r2 case of sval in if isl(r2)
               then if C_Struct?(outl(r2)) then apply-alist(AtomDeq;C_Struct-fields(outl(r2));comp) else inr ⋅  fi 
               else inr ⋅ 
               fi )



Definitions occuring in Statement :  C_LVALUE_ind: C_LVALUE_ind C_Array-elems: C_Array-elems(v) C_Array-length: C_Array-length(v) C_Array?: C_Array?(v) C_Struct-fields: C_Struct-fields(v) C_Struct?: C_Struct?(v) apply-alist: apply-alist(eq;L;x) atom-deq: AtomDeq le_int: i ≤j band: p ∧b q outl: outl(x) ifthenelse: if then else fi  isl: isl(x) lt_int: i <j it: apply: a inr: inr  inl: inl x natural_number: $n
FDL editor aliases :  C_TYPE-of-LVALUE
C\_TYPE-of-LVALUE(env;lval)  ==
    case  lval  is   
    Ground(loc)  =>  env  loc   
    aval[idx]  =>  let  r  =  case  of  aval  in  if  isl(r)
                              then  if  C\_Array?(outl(r))
                                        then  if  0  \mleq{}z  idx  \mwedge{}\msubb{}  idx  <z  C\_Array-length(outl(r))
                                                  then  inl  C\_Array-elems(outl(r))
                                                  else  inr  \mcdot{} 
                                                  fi 
                                        else  inr  \mcdot{} 
                                        fi 
                              else  inr  \mcdot{} 
                              fi     
    sval.comp  =>    let  r2  =  case  of  sval  in  if  isl(r2)
                              then  if  C\_Struct?(outl(r2))
                                        then  apply-alist(AtomDeq;C\_Struct-fields(outl(r2));comp)
                                        else  inr  \mcdot{} 
                                        fi 
                              else  inr  \mcdot{} 
                              fi  )



Date html generated: 2015_07_17-AM-07_43_42
Last ObjectModification: 2011_09_19-PM-07_18_02

Home Index