if (preg_match('#fonc .*\((.*)\) {#i', $code, $headersFonctions)) { //
Içi on traduit les types des arguments
$i=0;
while(isset($headersFonctions[$i])) {
$headerFonction=$headersFonctions[$i];
$headerFonctionMod=str_replace('fonc', '', $headerFonction);
$headerFonctionMod=str_replace('antyez', 'int', $headerFonctionMod);
$headerFonctionMod=str_replace('dsymal', 'float', $headerFonctionMod);
$headerFonctionMod=str_replace('karaktr', 'char', $headerFonctionMod);
$headerFonctionMod=str_replace('shen2([0-9]*)letr', 'char[$1]',
$headerFonctionMod);
$code=str_replace($headerFonction, $headerFonctionMod, $code);
}
}//Fin de la traduction
/*Fin de la partie... sur les fonctions !*/
/*Cette partie va concerner les variables (typées manuellement oopa)
(obligés de donner une valeur) NO ARRAY SUPPORT !!*/
$code=preg_replace('#antyez (.*): ([0-9]*);#i', 'int $1=$2;', $code);
$code=preg_replace('#dsymal (.*): ([0-9]{1,}),([0-9]{1,});#i', 'float
$1=$2.$3;) {', $code);
$code=preg_replace('#karaktr (.*): ([0-9]{1,3});#i', 'char $1=$2;',
$code);
$code=preg_replace('#karaktr (.*): "([a-z])";#i', 'char $1="$2";',
$code);
$code=preg_replace('#karaktr (.*): ([a-z]);#i', 'char $1="$2";',
$code);
$code=preg_replace('#shen (.*): "(.*)";#i', 'char[] $1="$2";', $code);
$code=preg_replace('#shen (.*): (.*);#i', 'char[] $1="$2";', $code);
$code=preg_replace('#(.*): ([0-9]*);#i', 'int $1=$2;', $code);
$code=preg_replace('#(.*): ([0-9]{1,}),([0-9]{1,});#i', 'float $1$2.$3;) {', $code);
$code=preg_replace('#(.*): ([0-9]{1,3});#i', 'char $1=$2;', $code);
$code=preg_replace('#(.*): "([a-z])";#i', 'char $1="$2";', $code);
$code=preg_replace('#(.*): ([a-z]);#i', 'char $1="$2";', $code);
$code=preg_replace('#(.*): "(.*)";#i', 'char[] $1="$2";', $code);
$code=preg_replace('#(.*): ([a-z]*);#i', 'char[] $1="$2";', $code);
$code=preg_replace('#shen2([0-9]*)letr (.*): "([a-z]*)";#i', 'char[$1]
$2="$3";', $code);
$code=preg_replace('#shen2([0-9]*)letr (.*): ([a-z]*);#i', 'char[$1]
$2="$3";', $code);
/*Fin de la partie sur les variables*/
//Je donnerai plus tard une solution pour écrire les prototypes dans
les .h, déclarer les variables sans valeur et accepter les variables
de types "kikoo" dans les fonctions
/*On traite içi la mise en page de la sortie (pas de coloration ou
d'indentation...pour le moment)*/
$code=htmlspecialchars($code);
$code=stripslashes($code);
$code=nl2br($code);
/*Bon, bah... affichons !!*/
xD Dbu :
MonPote: Frederic LOL //Detection du type de variable (observez le
char[])
Si 2+2=4 alor //Notez le simple "="
ekri("Slt %s", MonPote) LOL
sinn
ekri("Bah ya1prob ac la kalkulet") LOL //C'est pas faux.....
C-tt
fonctionAuNimp(O_O) LOL
envwa 0 LOL
C-tt
</textarea><input type="submit" value="Convertir en C" /></form>
<?php
}
?>
C'est les sources ^^
Bon voilà, sinon comment avec une RegEx on peut faire "si on a une
suite mais qu'il y a au moins une lettre" ( .*[a-zA-Z].* ?) ??
Amusant. Mais bon, la syntaxe en kikoolol est sacrément rigide pour avoir une chance que ça se traduise bien... Par curiosité : tu arrives à programmer directement en kikoolol, ou bien tu écris d'abord en C avant de faire la transformation inverse de ton programme en PHP ?
Bon voilà, sinon comment avec une RegEx on peut faire "si on a une suite mais qu'il y a au moins une lettre" ( .*[a-zA-Z].* ?) ??
Oui, tu peux faire comme tu l'as écrit, « .*[a-zA-Z].* », ce qui fait le test et en même temps consomme tous les derniers caractères de la chaîne. Bien sûr, ceci ne vaut que pour les lettres non accentuées qui se trouvent dans ASCII.
Un test qui fait la même chose en un peu plus rapide (ne consomme les caractères que jusqu'à la lettre ASCII) : « .*[a-zA-Z] ».
Maintenant, si tu veux juste une assertion, ce qui ne consomme donc aucun des caractères restants : « (?=.*[a-zA-Z]) ».
Si tu as des questions plus pointues concernant les regexp, je rappelle l'existence de fr.comp.lang.regexp, plus adapté.
Cordialement, -- Olivier Miakinen
Bonjour,
Le 21/02/2010 11:32, Beranger Seguin a écrit :
J'ai programmé un système (ou du moins je commence) pour transformer
une version du C kikoololisée avec un transformateur PHP qui change ça
en VRAI C.
J'ai mis la page à http://jioparadise.olympe-network.com/kikooC.php
<?php
[...]
?>
Amusant. Mais bon, la syntaxe en kikoolol est sacrément rigide pour
avoir une chance que ça se traduise bien... Par curiosité : tu arrives à
programmer directement en kikoolol, ou bien tu écris d'abord en C avant
de faire la transformation inverse de ton programme en PHP ?
Bon voilà, sinon comment avec une RegEx on peut faire "si on a une
suite mais qu'il y a au moins une lettre" ( .*[a-zA-Z].* ?) ??
Oui, tu peux faire comme tu l'as écrit, « .*[a-zA-Z].* », ce qui fait le
test et en même temps consomme tous les derniers caractères de la
chaîne. Bien sûr, ceci ne vaut que pour les lettres non accentuées qui
se trouvent dans ASCII.
Un test qui fait la même chose en un peu plus rapide (ne consomme les
caractères que jusqu'à la lettre ASCII) : « .*[a-zA-Z] ».
Maintenant, si tu veux juste une assertion, ce qui ne consomme donc
aucun des caractères restants : « (?=.*[a-zA-Z]) ».
Si tu as des questions plus pointues concernant les regexp, je rappelle
l'existence de fr.comp.lang.regexp, plus adapté.
Amusant. Mais bon, la syntaxe en kikoolol est sacrément rigide pour avoir une chance que ça se traduise bien... Par curiosité : tu arrives à programmer directement en kikoolol, ou bien tu écris d'abord en C avant de faire la transformation inverse de ton programme en PHP ?
Bon voilà, sinon comment avec une RegEx on peut faire "si on a une suite mais qu'il y a au moins une lettre" ( .*[a-zA-Z].* ?) ??
Oui, tu peux faire comme tu l'as écrit, « .*[a-zA-Z].* », ce qui fait le test et en même temps consomme tous les derniers caractères de la chaîne. Bien sûr, ceci ne vaut que pour les lettres non accentuées qui se trouvent dans ASCII.
Un test qui fait la même chose en un peu plus rapide (ne consomme les caractères que jusqu'à la lettre ASCII) : « .*[a-zA-Z] ».
Maintenant, si tu veux juste une assertion, ce qui ne consomme donc aucun des caractères restants : « (?=.*[a-zA-Z]) ».
Si tu as des questions plus pointues concernant les regexp, je rappelle l'existence de fr.comp.lang.regexp, plus adapté.
J'ai aussi un topic sdz:
http://www.siteduzero.com/forum-83-491371-p1-kikooc.html#r4679903
Sinon entre "http://www.phwinfo.com/forum/fr-comp-lang-php/402356-
langage-c-kikoololise-script-php.html" et "http://groupes.codes-
sources.com/articlefull.aspx?idF3300", y'a pas mal de sites qui sont
liés avec GooGro ^^. Sinon, on peut utilise klibido pour y accéder ?