Esperanta komputila programlingvo
od MiMalamasLaAnglan, 8. rujna 2019.
Poruke: 135
Jezik: Esperanto
sergejm (Prikaz profila) 6. listopada 2019. 16:29:23
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 (Prikaz profila) 7. listopada 2019. 09:16:57
(laŭ la franca esprimo, kiun oni diras al iu kiu frontas malfacilaĵon aŭ entreprenas longan klopodan taskon)
MiMalamasLaAnglan (Prikaz profila) 7. listopada 2019. 14:29:13
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 (Prikaz profila) 7. listopada 2019. 17:22:41
sergejm (Prikaz profila) 7. listopada 2019. 17:35:53
Uzado:
gcc -c saluton.c | traduku
MiMalamasLaAnglan (Prikaz profila) 7. listopada 2019. 21:26:41
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 (Prikaz profila) 8. listopada 2019. 00:14:35
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 (Prikaz profila) 8. listopada 2019. 15:43:58
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 (Prikaz profila) 8. listopada 2019. 16:55:14
MiMalamasLaAnglan (Prikaz profila) 9. listopada 2019. 15:01:23
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