Esperanta komputila programlingvo
ya MiMalamasLaAnglan, 8 Septemba 2019
Ujumbe: 135
Lugha: Esperanto
sergejm (Wasifu wa mtumiaji) 6 Oktoba 2019 4:29:23 alasiri
1. Ricevi fontaĵojn C, akirebla laŭ GNU licenco.
2. Anstataŭi ŝlosilvortojn kaj erarmesaĝojn per la Esperantaj en literaloj
3. Kompili per malnova C-kompililo.
4. Anstataŭi ŝlosilvortojn kaj erarmesaĝojn per la Esperantaj en aliaj lokoj.
5. Kompili per Esperanta C-kompililo.
Altebrilas (Wasifu wa mtumiaji) 7 Oktoba 2019 9:16:57 asubuhi
(laŭ la franca esprimo, kiun oni diras al iu kiu frontas malfacilaĵon aŭ entreprenas longan klopodan taskon)
MiMalamasLaAnglan (Wasifu wa mtumiaji) 7 Oktoba 2019 2:29:13 alasiri
sergejm:Nu simile oni povas fari kun C:Tio estas mirinda ideo! Estus facile tiel krei dosieron "eo.h" por programi en C (kaj ankaŭ C++) esperante.#define se if
#define alie else
#define liveru(x) return x
#define revenu return
typedef int ent;
ent Fakt(ent n) {
se (n == 0) {
liveru(0);
} alie {
liveru(Fakt(n-1)*n);
}
}
Dankegon pro tiu ideo.
Redakto: Mi provis fari Saluton Mondo programo kaj ricevis eraron.
Eraro:
saluton.c:6:3: error: use of undeclared identifier 'liveru'
liveru 0;
^
1 error generated.
saluton.c:
#include
#include "eo.h"
ent main() {
printf("Saluton Mondo\n");
liveru 0;
}
eo.h:
#define se if
#define alie else
#define liveru(x) return x
#define revenu return
typedef int ent;
sergejm (Wasifu wa mtumiaji) 7 Oktoba 2019 5:22:41 alasiri
sergejm (Wasifu wa mtumiaji) 7 Oktoba 2019 5:35:53 alasiri
Uzado:
gcc -c saluton.c | traduku
MiMalamasLaAnglan (Wasifu wa mtumiaji) 7 Oktoba 2019 9:26:41 alasiri
sergejm:Se vi volas ricevi erarmesaĝoj Esperante, skribu programon "traduku", kiu kaptas mesaĝoj de komplilo kaj tradukas ilin.Vi skribu tiun tradukilon, se vi volas ĝin. Eble povus esti "gcc-eo"-programo.
Uzado:gcc -c saluton.c | traduku
Kio estas la typedef-oj, kiujn mi devas aldoni? Vi proponis "ent[jero]". Kiel tradukiĝus char? Eble double estus "duobla" kaj long estus "longa".
sergejm (Wasifu wa mtumiaji) 8 Oktoba 2019 12:14:35 asubuhi
typedef definas novan tipon, tio estas pli bone - komplilo pli verŝajne skribas pli kompreneblan erarmesaĝon.
#define tipo typedef
#define konst const
tipo char signo, karaktro; // rigardu komputeko.net
konst ent unu = 1;
MiMalamasLaAnglan (Wasifu wa mtumiaji) 8 Oktoba 2019 3:43:58 alasiri
sergejm:#define anstataŭas la vorto ĉie, kie ĝin renkontas. En kompililaj mesaĝoj vi vidos ne originalon, sed anstataŭaĵon.Ĉu eblas traduki aferojn kiel "#define" kaj "#include"?
typedef definas novan tipon, tio estas pli bone - komplilo pli verŝajne skribas pli kompreneblan erarmesaĝon.
#define tipo typedef
#define konst const
tipo char signo, karaktro; // rigardu komputeko.net
konst ent unu = 1;
Laŭ https://komputeko.net/index_en.php?vorto=character, "signo" estas pli ofta ol "karaktro".
Dankegegon pro via helpo kun la programlingvo! Mi nun bezonas krei nur .h-dosieron!
sergejm (Wasifu wa mtumiaji) 8 Oktoba 2019 4:55:14 alasiri
MiMalamasLaAnglan (Wasifu wa mtumiaji) 9 Oktoba 2019 3:01:23 alasiri
sergejm:Ne. Direktivoj de antaŭprocesoro mem ne estas anstataŭeblaj. Sed eblas uzi alian antaŭprocesoro (simile al postprocesoro por traduki erarojn)Mi faris ĝin. https://pastebin.com/hqZ1M8Rb