Projet mkd/find.c
De Wiki EELL.
(Différences entre les versions)
JPL (discuter | contributions) m (→find (included file) : ajouté la date) |
JPL (discuter | contributions) m (→Fichier de commande des tests : Mise à jour) |
||
| Ligne 143 : | Ligne 143 : | ||
== Fichier de commande des tests == | == Fichier de commande des tests == | ||
| + | |||
| + | {{Boîte déroulante/début|titre=MAKE_Tests_U}} | ||
| + | * File: KONSOLE | ||
| + | <pre style = "color:black"> | ||
| + | #!/bin/bash | ||
| + | echo -e '\E['32';'01'm'"click on New Line to 'start' the Konsole" | ||
| + | # echo -e '\E['31';'01'm' "not 'start in a terminal'" | ||
| + | echo -e '\E['32';'01'm'"click on Ctrl-C to exit" | ||
| + | tput sgr0 # Reset text attributes to normal without clear | ||
| + | read pwd | ||
| + | pwd | ||
| + | echo $pwd | ||
| + | tput sgr0 # Reset text attributes to normal without clear | ||
| + | /usr/bin/konsole background-mode --workdir pwd dir | ||
| + | read | ||
| + | </pre> | ||
| + | |||
| + | * File: MAKE_Tests_U | ||
| + | <pre style = "color:black"> | ||
| + | #!/bin/bash | ||
| + | #O ../../mkd tests under Linux. | ||
| + | #O Epreuve de vérification de la fonction find.inc.c() avec ../../mkd | ||
| + | rm test_find.txt | ||
| + | ../../mkd -svwfj '**' test_find.prj test_find.txt > test.stdout | ||
| + | gedit test_find.txt test.stdout | ||
| + | </pre> | ||
| + | |||
| + | * File: Make_Tests_files | ||
| + | <pre style = "color:blue">> | ||
| + | #!/bin/dash | ||
| + | echo "assembler" > test.ASM | ||
| + | echo "basic" > test.BAS | ||
| + | echo "batch" > test.BAT | ||
| + | echo "fortran" > test.FOR | ||
| + | echo "pascal" > test.PAS | ||
| + | echo "visual basic" > test.vb | ||
| + | echo "c++" > test.c++ | ||
| + | echo "c++" > test.h++ | ||
| + | echo "c--" > test.c-- | ||
| + | echo "c--" > test.h-- | ||
| + | echo "c++" > test.cpp | ||
| + | echo "c++" > test.hpp | ||
| + | echo "css" > test.css | ||
| + | echo "c++" > test.cc | ||
| + | echo "c sharp" > test.cp | ||
| + | echo "c sharp" > test.cs | ||
| + | echo "c sharp" > test.c# | ||
| + | echo "C" > test.C | ||
| + | echo "C" > test.h | ||
| + | echo "D" > test.D | ||
| + | echo "prolog" > test.pro | ||
| + | echo "php" > test.php | ||
| + | echo "java" > test.jav | ||
| + | echo "javasript" > test.jse | ||
| + | echo "javasript" > test.js | ||
| + | #w echo "mkd" > test.prj not a programming language | ||
| + | #w echo "mkd" > test.pj not a programming language | ||
| + | # UNIX | ||
| + | echo "assembler" > test.s | ||
| + | echo "fortran" > test.f | ||
| + | echo "pascal" > test.p | ||
| + | echo "ratfor" > test.r | ||
| + | echo "shell" > test.sh | ||
| + | echo "cshell" > test.csh | ||
| + | echo "perl" > test.pl | ||
| + | echo "ruby" > test.rb | ||
| + | echo "python" > test.py | ||
| + | echo "python" > test.pyw | ||
| + | # C strict | ||
| + | echo "C strict src" > test.c | ||
| + | #w echo "C strict include preformated" > test.i Only for c strict | ||
| + | echo "C strict header" > test.h | ||
| + | # Make prj file | ||
| + | ls -1 > test_find.prj | ||
| + | </pre> | ||
| + | {{Boîte déroulante/fin}} | ||
== Analyse des test konsole == | == Analyse des test konsole == | ||
Version du 10 mai 2013 à 07:28
Retour aux fichiers en développement →
Sommaire |
find (included file)
find.inc.c, find.inc.h 2013-05-09
- find.inc.h
#define ARGS_EXAM
- find.inc.c
//P maj R3.11 04/01/91 par JPL
//P maj R 130509 alpha
{ /*S find */
L=0;
// c is a register int defined in mkd.c
int d; // local variables
int e, f, g;
if(v) printf("Find Souce File Language, \'%s\': ",fsrc);
if(k)
{ /*S chercher */
//T char buffer[10]; //T tests only
c = tolower(fsrc[k+1]);
if (c!='\0') d = tolower(fsrc[k+2]); else d='\0';
if (d!='\0') e = tolower(fsrc[k+3]); else e='\0';
// if (e!='\0') f = tolower(fsrc[k+4]); else f='\0';
// if (f!='\0') g = tolower(fsrc[k+4]); else g='\0';
// if (g!='\0') h = tolower(fsrc[k+3]); else h='\0';
//T buffer[0]=c; buffer[1]=d; buffer[2]=e; buffer[3]='\0'; //T Tests only
//T printf("\nTests: **** tolower extension = %s\n",buffer); //T tests only
#ifndef UNIX_ONLY // OK for PC and UNIX / LINUX. Not OK for C strict
if(c=='a'&&d=='s'&&(e=='m'||e=='i'))
{L=1;A=1;printf("ASM\n");}
else if( (c=='b'&&d=='a'&&e=='s') || // bas
(c=='v'&&d=='b'&&e=='\0') || // Visual bacic
(c=='b'&&d=='a'&&e=='t') // bat
)
{L=1;B=1;printf("BASIC\n");}
else if(
( ((c=='c'||'h')&&d=='+'&&e=='+') || // c++, h++
((c=='c'||'h')&&d=='-'&&e=='-') || // c--, h--
((c=='c'||'h')&&d=='p'&&e=='p') || // cpp, hpp
(c=='c'&&d=='s'&&e=='s') || // css
(c=='c'&&d=='c'&&e=='\0') || // cc
(c=='h'&&d=='h'&&e=='\0') || // hh
(c=='c'&&d=='p'&&e=='\0') || // cp=c#
(c=='c'&&d=='s'&&e=='\0') || // cs=c#
(c=='c'&&d=='#'&&e=='\0') || // c#
(c=='c'&&d=='\0') || // C
(c=='h'&&d=='\0') || // h
(c=='d'&&d=='\0') || // D
(c=='p'&&d=='r')&&e=='o') || // pro prolog
//w see forward (c=='p'&&d=='l')&&d=='\0') || // pl perl, prolog
(c=='p'&&d=='h'&&e=='p') || // PHP
(c=='j'&&d=='a'&&e=='v') || // jav java
(c=='j'&&d=='s'&&e=='e') || // jse javascript
(c=='j'&&d=='s'&&e=='\0') // js javascript
)
{L=1;C=1;printf("C or PROLOG\n");}
else if(c=='f'&&d=='o'&&e=='r')
{L=1;F=1;printf("FORTRAN\n");}
else if(c=='p'&&d=='a'&&e=='s')
{L=1;P=1;printf("PASCAL\n");}
#endif
#ifndef PC_ONLY // OK for UNIX / LINUX
if(c=='s'&&d=='\0')
{L=1;A=1;printf("Assembler\n");}
else if(c=='f'&&d=='\0')
{L=1;F=1;printf("Fortran\n");}
else if(c=='p'&&d=='\0')
{L=1;P=1;printf("Pascal\n");}
/*w Attention, il n'est pas coutumier de donner des extensions aux fichiers
shell. Il serait utile de vérifier la première ligne si c est NULL. Pour
cela il faudrait ouvrir et refermer le fichier source. */
else if( (c=='s'&&d=='h'&&e=='\0') || // sh
(c=='c'&&d=='s'&&e=='h') || // csh
(c=='p'&&d=='l'&&e=='\0') || // pl perl
(c=='r'&&d=='b'&&e=='\0') || // rb ruby
(c=='p'&&d=='y'&&e=='\0') || // py python
(c=='p'&&d=='y'&&e=='w') || // pyw python
(c=='r'&&d=='\0') // ratfor
)
{L=1;S=1;printf("Shell\n");}
#endif
#ifdef UNIX_ONLY // C strict not in use with mkd see version.h
else if((c=='c'||c=='i'|| c=='h')&&d=='\0')
{L=1;C=1;printf("C strict\n");}
#endif
#ifndef ARGS_EXAM
else if( (c=='p'&&d=='r'&&e=='j') || // prj mkd
(c=='p'&&d=='j'&&e=='\0') // pj mkd
)
{L=1;j=1;printf("Project file\n");}
#endif
} /*S chercher */
/*O si le langage n'est pas trouvé: */
if(!L)
/*O alors: */
{ /*S*/
/*O mettre les drapeaux (options ABC... ) a 0 */
A=B=C=F=P=S=0;
/*O demander le type de langage du fichier et positionner le drapeau */
printf("\n*** Source file: language not found. (Enter A,B,C,F,P,S,l or p)\n");
#ifndef ARGS_EXAM
if(!j)printf("*** For project file: exit and use option -j.\n");
#endif
printf("Enter ESCAPE for exit ?:");
if(j)printf("\b\bor space_bar for Ignore ?: ");
if((c=getch())==0x1B){ /*S*/ printf("\n.Exit 1\n");exit(1);} /*S*/
else if(c=='A'||c=='a')A=1;
else if(c=='B'||c=='b')B=1;
else if(c=='C'||c=='c')C=1;
else if(c=='F'||c=='f')F=1;
else if(c=='P'||c=='p')P=1;
else if(c=='S'||c=='s')S=1;
else if (c=='l')l=1;
else if(c=='p')p=1;
else
{ /*S*/printf("\n.Exit 2\n"); exit(2);} /*S*/
printf("\n");
L=A+B+C+F+P+S;
/*O si aucun drapeau langage n'est positionne envoyer BEL */
if(!(L==1||p||l))putch(0x7);
putch('\n');
} /*S*/
} /*S find */
Fichier de commande des tests
MAKE_Tests_U
- File: KONSOLE
#!/bin/bash echo -e '\E['32';'01'm'"click on New Line to 'start' the Konsole" # echo -e '\E['31';'01'm' "not 'start in a terminal'" echo -e '\E['32';'01'm'"click on Ctrl-C to exit" tput sgr0 # Reset text attributes to normal without clear read pwd pwd echo $pwd tput sgr0 # Reset text attributes to normal without clear /usr/bin/konsole background-mode --workdir pwd dir read
- File: MAKE_Tests_U
#!/bin/bash #O ../../mkd tests under Linux. #O Epreuve de vérification de la fonction find.inc.c() avec ../../mkd rm test_find.txt ../../mkd -svwfj '**' test_find.prj test_find.txt > test.stdout gedit test_find.txt test.stdout
- File: Make_Tests_files
> #!/bin/dash echo "assembler" > test.ASM echo "basic" > test.BAS echo "batch" > test.BAT echo "fortran" > test.FOR echo "pascal" > test.PAS echo "visual basic" > test.vb echo "c++" > test.c++ echo "c++" > test.h++ echo "c--" > test.c-- echo "c--" > test.h-- echo "c++" > test.cpp echo "c++" > test.hpp echo "css" > test.css echo "c++" > test.cc echo "c sharp" > test.cp echo "c sharp" > test.cs echo "c sharp" > test.c# echo "C" > test.C echo "C" > test.h echo "D" > test.D echo "prolog" > test.pro echo "php" > test.php echo "java" > test.jav echo "javasript" > test.jse echo "javasript" > test.js #w echo "mkd" > test.prj not a programming language #w echo "mkd" > test.pj not a programming language # UNIX echo "assembler" > test.s echo "fortran" > test.f echo "pascal" > test.p echo "ratfor" > test.r echo "shell" > test.sh echo "cshell" > test.csh echo "perl" > test.pl echo "ruby" > test.rb echo "python" > test.py echo "python" > test.pyw # C strict echo "C strict src" > test.c #w echo "C strict include preformated" > test.i Only for c strict echo "C strict header" > test.h # Make prj file ls -1 > test_find.prj

