Category:Amazing Hopper: Difference between revisions

Content added Content deleted
Line 862: Line 862:
La siguiente es la estructura de un típico programa HOPPER:
La siguiente es la estructura de un típico programa HOPPER:


[ #include <archivo.hh> | [path/]archivo.hh ]
[ #include <archivo.hh> | [path/]archivo.hh ]
[ #define DEFNAME cuerpo-de-define [\
continuación ] ]
[ #defn DEFNAME cuerpo-de-define-con-TAGS-macro-programación [\
continuación ] ]
[ #proto NOMBRE_PSEUDO_FUNCION[(arguentos)] ]
[ #context | #context-free <lista-de-contextos> ]
[ #synon | #synonymous < DEFNAME | CONTEXTO > <lista-de-sinónimos> ]


main:
[ #define DEFNAME cuerpo-de-define [\
continuación ] ]


[.stack SIZE-STACK ]
[ #defn DEFNAME cuerpo-de-define-con-TAGS-macro-programación [\
[.ctrl]
continuación ] ]
[ #hl | #fx | #compute | #high-level < { <instrucciones-alto-nivel>
[ #proto NOMBRE_PSEUDO_FUNCION[(arguentos)] ]

[ #context | #context-free <lista-de-contextos> ]

[ #synon | #synonymous < DEFNAME | CONTEXTO > <lista-de-sinónimos> ]

main:

[.stack SIZE-STACK ]
[.ctrl]
[ #hl | #fx | #compute | #high-level < { <instrucciones-alto-nivel>
} > | < ( línea-alto-nivel ) > ]
} > | < ( línea-alto-nivel ) > ]
instrucciones-HOPPER
...instrucciones-HOPPER...

[ <label>:
[ <label>:
instrucciones-HOPPER ]
instrucciones-HOPPER ]

[ #define DEFNAME cuerpo-de-define [\
[ #define DEFNAME cuerpo-de-define [\
continuación ] ]
continuación ] ]
Line 893: Line 886:
continuación ] ]
continuación ] ]


{<valor-retorno>}return
{<valor-retorno>}return


[.locals]
[.locals]
[ <contexto> :
[ <contexto> :
instrucciones-HOPPER
instrucciones-HOPPER
[instrucciones-alto-nivel]
[instrucciones-alto-nivel]
back ]
back ]



OBSERVACIONES. los comandos de macro-procesamiento #DEFINE y #DEFN pueden ser usados en cualquier parte del programa.
OBSERVACIONES. los comandos de macro-procesamiento #DEFINE y #DEFN pueden ser usados en cualquier parte del programa.



== ETIQUETAS, CONTEXTOS Y PSEUDOFUNCIONES ==
== ETIQUETAS, CONTEXTOS Y PSEUDOFUNCIONES ==