]> git.llucax.com Git - z.facultad/75.00/informe.git/commitdiff
Cambiar forma de declarar funciones en pseudo-código
authorLeandro Lucarella <llucax@gmail.com>
Wed, 27 May 2009 01:00:52 +0000 (22:00 -0300)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 31 May 2009 00:30:18 +0000 (21:30 -0300)
Antes se utilizaba::

   funcion()
      cuerpo()

Ahora se utiliza::

   function funcion() is
      cuerpo()

Que es considerablemente más claro y permite buscar definiciones
de funciones más fácilmente.

source/gc.rst

index 2106d0c1f327188111b709a3e373c4c96e7923e5..9f1b04f107f8b1fff18cbb54025e23edc2e56b37 100644 (file)
@@ -331,13 +331,13 @@ Un algoritmo simple (recursivo) de marcado *primero a lo alto*  puede ser
 el siguiente (asumiendo que partimos con todos los vértices sin marcar)
 [#gcpseudo]_::
 
-   mark(v)
+   function mark(v) is
       if not v.marked
          v.marked = true
          for (src, dst) in v.edges
             mark(dst)
 
-   mark_phase()
+   function mark_phase() is
       for r in root_set
          mark(r)
 
@@ -615,7 +615,7 @@ que todas las celdas parten pintadas de blanco, es decir, el conjunto
 blanco contiene todas las celdas de memoria y los conjuntos negro y gris
 están vacíos)::
 
-   mark_phase()
+   function mark_phase() is
       for r in root_set
          gray_set.add(r)
       while not gray_set.empty()
@@ -786,21 +786,21 @@ teóricamente la complejidad de eliminar una referencia puede ser
 Las primitivas implementadas para este tipo de recolector son las
 siguientes (acompañadas de una implementación básica)::
 
-   new()
+   function new() is
       cell = alloc()
       if cell is null
          throw out_of_memory
       cell.rc = 1
       return cell
 
-   del(cell)
+   function del(cell) is
       cell.rc = cell.rc - 1
       if cell.rc is 0
          for child* in cell.children
             del(*child)
          free(cell)
 
-   update(ref*, cell)
+   function update(ref*, cell) is
       cell.rc = cell.rc + 1
       del(*ref)
       *ref = cell