Ignore:
Timestamp:
Oct 10, 2011, 11:32:44 PM (9 years ago)
Author:
tranquil
Message:
  • work on LIN completed
  • small implementation of extensible arrays
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Deliverables/D2.2/8051-indexed-labels-branch/src/clight/clightLabelling.ml

    r1328 r1349  
    153153(* A loop address like [2, 0, 1] means the corresponding label is in the *)
    154154(* third loop inside the first loop inside the second loop of the body. The *)
    155 (* type is *)
    156 (* int list -> int -> map -> Clight.statement -> int * map *)
    157 (* where map = int list Label.Map.t *)
    158 let rec assign_loop_addrs_s current offset m = function
     155let rec assign_loop_addrs_s
     156    (current : int list)
     157                (offset  : int)
     158                (m       : int list Label.Map.t)
     159                : Clight.statement -> int*int list Label.Map.t = function
    159160        (* I am supposing you cannot jump to the update statement of for loops... *)
    160161        | Swhile(_,_,s) | Sdowhile(_,_,s) | Sfor(_,_,_,_,s) ->
     
    182183
    183184(* traversal of code which for every statement [s] returns the set of loop*)
    184 (* addresses which are multi-entry due to a goto in [s]. The type is *)
    185 (* map -> int list -> int -> statement -> int*set *)
    186 (* where maps is as above, set = InListSet.t *)
    187 let rec find_multi_entry_loops_s m current offset = function
     185(* addresses which are multi-entry due to a goto in [s]. *)
     186let rec find_multi_entry_loops_s
     187    (m       : int list Label.Map.t)
     188                (current : int list)
     189                (offset  : int)
     190                : Clight.statement -> int*IntListSet.t = function
    188191        (* I am supposing you cannot jump to the update statement of for loops... *)
    189192        | Swhile(_,_,s) | Sdowhile(_,_,s) | Sfor(_,_,_,_,s) ->
Note: See TracChangeset for help on using the changeset viewer.