Tästä sisältöön

Esperanta komputila programlingvo

MiMalamasLaAnglan :lta, 8. syyskuuta 2019

Viestejä: 114

Kieli: Esperanto

sergejm (Näytä profiilli) 6. lokakuuta 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 (Näytä profiilli) 7. lokakuuta 2019 9.16.57

Bonan kuraĝon!

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

MiMalamasLaAnglan (Näytä profiilli) 7. lokakuuta 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 (Näytä profiilli) 7. lokakuuta 2019 17.22.41

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

sergejm (Näytä profiilli) 7. lokakuuta 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 (Näytä profiilli) 7. lokakuuta 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 (Näytä profiilli) 8. lokakuuta 2019 0.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 (Näytä profiilli) 8. lokakuuta 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 (Näytä profiilli) 8. lokakuuta 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 (Näytä profiilli) 9. lokakuuta 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

Takaisin ylös