Line 13: |
Line 13: |
| Another way of describing the thing is -- a string of sequences like <pre>{o,t,[l]*}</pre> where <pre>o</pre> is an ID of an object, <pre>t</pre> is its type, <pre>[l]*</pre> is an array of links to another objects. The generation rules can look like | | Another way of describing the thing is -- a string of sequences like <pre>{o,t,[l]*}</pre> where <pre>o</pre> is an ID of an object, <pre>t</pre> is its type, <pre>[l]*</pre> is an array of links to another objects. The generation rules can look like |
| | | |
− | * fork() -- <pre>({(*),task,[(*)]}) -> \1,{$new,task,([parent=\2,\3])}</pre> which means that any task can create a copy of itself having it as parent (link) and the rest of objects shared | + | * fork() -- <code>({(*),task,[(*)]}) -> \1,{$new,task,([parent=\2,\3])}</code> which means that any task can create a copy of itself having it as parent (link) and the rest of objects shared |
− | * open() -- <pre>{(*),task,(*)} -> {-1,task,[file=$new]},{$new,file,[]}<pre> which means that any task can create a new object of type file linked to it | + | * open() -- <code>{(*),task,(*)} -> {-1,task,[file=$new]},{$new,file,[]}</code> which means that any task can create a new object of type file linked to it |
| | | |
| The restoring process then is: given a final graph or string and the set of generating rules find out what sequence of the latter can produce the former. | | The restoring process then is: given a final graph or string and the set of generating rules find out what sequence of the latter can produce the former. |