Nuprl Definition : 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 ≤z idx ∧b idx <z 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 ≤z j
, 
band: p ∧b q
, 
outl: outl(x)
, 
ifthenelse: if b then t else f fi 
, 
isl: isl(x)
, 
lt_int: i <z j
, 
it: ⋅
, 
apply: f a
, 
inr: inr x 
, 
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