Til indholdet

Esperanta komputila programlingvo

af MiMalamasLaAnglan, 8. sep. 2019

Meddelelser: 114

Sprog: Esperanto

sergejm (Vise profilen) 6. okt. 2019 16.29.23

Sed mi supozis vi volas fari ion pli grandan, ekz:
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 (Vise profilen) 7. okt. 2019 09.16.57

Bonan kuraĝon!

(laŭ la franca esprimo, kiun oni diras al iu kiu frontas malfacilaĵon aŭ entreprenas longan klopodan taskon)

MiMalamasLaAnglan (Vise profilen) 7. okt. 2019 14.29.13

sergejm:Nu simile oni povas fari kun C:
#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);
}
}
Tio estas mirinda ideo! Estus facile tiel krei dosieron "eo.h" por programi en C (kaj ankaŭ C++) esperante.

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 (Vise profilen) 7. okt. 2019 17.22.41

Se vi volas skibi "liveru x;" tiam skribu en eo.h "#define liveru return"

sergejm (Vise profilen) 7. okt. 2019 17.35.53

Se vi volas ricevi erarmesaĝoj Esperante, skribu programon "traduku", kiu kaptas mesaĝoj de komplilo kaj tradukas ilin.
Uzado:
gcc -c saluton.c | traduku

MiMalamasLaAnglan (Vise profilen) 7. okt. 2019 21.26.41

sergejm:Se vi volas ricevi erarmesaĝoj Esperante, skribu programon "traduku", kiu kaptas mesaĝoj de komplilo kaj tradukas ilin.
Uzado:
gcc -c saluton.c | traduku
Vi skribu tiun tradukilon, se vi volas ĝin. Eble povus esti "gcc-eo"-programo.

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 (Vise profilen) 8. okt. 2019 00.14.35

#define anstataŭas la vorto ĉie, kie ĝin renkontas. En kompililaj mesaĝoj vi vidos ne originalon, sed anstataŭaĵon.
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 (Vise profilen) 8. okt. 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.
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;
Ĉu eblas traduki aferojn kiel "#define" kaj "#include"?

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 (Vise profilen) 8. okt. 2019 16.55.14

Ne. Direktivoj de antaŭprocesoro mem ne estas anstataŭeblaj. Sed eblas uzi alian antaŭprocesoro (simile al postprocesoro por traduki erarojn)

MiMalamasLaAnglan (Vise profilen) 9. okt. 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

Tilbage til start