Langage C Kikoololise - Script PHP

Le
Beranger Seguin
Bonjour à tous !
C'est mon premier message UseNet et c'est sur CE groupe que je vais le
poster:

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
if(isset($_POST['code'])) { //Si l'user a déjà rempli le formulaire
$code=$_POST['code']; //L'assigner à $code

/*Directives de preprocesseur*/
$code=preg_replace('##utiliz (.{2,})#i', '#include $1', $code);
/*Comment ça y'en à qu'une ?? Bon, fin*/

/*Syntaxe*/
$code=preg_replace('#(.*) lol#i', '$1;', $code);
/*Fin de Syntaxe*/

/*Fonctions, opérations de bases et conditions*/
$code=preg_replace('#c-tt#i', '}', $code);
$code=preg_replace('#si (.*)=(.*) alor#i', 'if ($1==$2) {', $code);
$code=preg_replace('#si (.*) alor#i', 'if ($1) {', $code);
$code=preg_replace('#if ((.*):(.*)) {#i', 'if ($1=$2) {', $code);
$code=preg_replace('#sinn#i', '} else {', $code);
$code=preg_replace('#ekri((.*));#i', 'printf($1);', $code);
$code=preg_replace('#(.*)((?:°o°|x_x|O_O|o.o){0,1});#i', '$1();',
$code);
/*Fin de la partie*/

/*Cette partie concerne les fonctions*/
$code=preg_replace('#xd dbu :#i', 'int main(int argc, char *argv[])
{', $code); //Un peu spécial
$code=preg_replace('#xd antyez (.*)((?:-.-|°o°|x_x|O_O|o.o)
{0,1}) :#i', 'int fonc $1() {', $code);
$code=preg_replace('#xd dsymal (.*)((?:-.-|°o°|x_x|O_O|o.o)
{0,1}) :#i', 'float fonc $1() {', $code);
$code=preg_replace('#xd karaktr (.*)((?:-.-|°o°|x_x|O_O|o.o)
{0,1}) :#i', 'char fonc $1() {', $code);
$code=preg_replace('#xd antyez (.*)((.*)) :#i', 'int fonc $1($2) {',
$code);
$code=preg_replace('#xd dsymal (.*)((.*)) :#i', 'float fonc $1($2)
{', $code);
$code=preg_replace('#xd karaktr (.*)((.*)) :#i', 'char fonc $1($2)
{', $code);
$code=preg_replace('#envwa (.*);#i', 'return $1;', $code);

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'indentationpour le moment)*/
$code=htmlspecialchars($code);
$code=stripslashes($code);
$code=nl2br($code);
/*Bon, bah affichons !!*/

echo($code); //C'est fait !

} else {
?>
<form action="#" method="POST"><textarea rows="50" cols="50"
name="code">
#utiliz <stdio.h>
#utiliz <stdlib.h>

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].* ?) ??

Merci à tous
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Aurelgadjo
Le #21244451
Beranger Seguin a écrit :
J'ai mis la page à http://jioparadise.olympe-network.com/kikooC.php





The service is not available. Please try again later.

:(
Olivier Miakinen
Le #21244441
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é.

Cordialement,
--
Olivier Miakinen
Beranger Seguin
Le #21251921
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 ?

Fin bref, commen---tez !!!!
Publicité
Poster une réponse
Anonyme