Les styles de commentaires en informatique sont souvent semblables. Pour s'en convaincre on lira avec intérêt les Commentaires informatiques sur wikipedia.
Les fichiers ci-dessous, sont à votre disposition pour effectuer des essais. Vous pouvez les remplacer et/ou ajouter de nouveaux fichiers du même style, par exemple le php est du même style que le c++.
Style Assembler.
See Unit tests for asm.c
HGRAPHIC.ASM (MS-DOS) pour exercices. Encodage ASCII.
PAGE 65,132
 NAME HGRAPHIC ; DATE: 10/03/88
 CGROUP GROUP CODE
 DGROUP GROUP CONST,DATA
 SGROUP GROUP STACK
 ASSUME CS:CGROUP,DS:DGROUP,SS:SGROUP
 DATA SEGMENT PUBLIC 'DATA'
 BUFFER DB 8 DUP (?) ; BUFFER DE 8 OCTETS POUR RÉORDONNER
 ADR_PAGE DW ? ; ADRESSE ORIGINE DU BUFFER ÉCRAN
 FLAG_ERR DB 0
 DATA ENDS
 CONST SEGMENT PUBLIC 'CONST'
 XXDATA EQU 050H ; 50H ADR BIOS PRINT SCREEN STATUS FLAG voir 2-8
 STATUS_BYTE EQU DS:BYTE PTR 0 ; DU BIOS
 NB_PARAGR EQU 020H ; PLACE POUR RÉSIDENT À DÉTERMINER 32=0512 OCTETS
 PAGE_0 EQU 0B000H ; 32KB B000:0000
 PAGE_1 EQU 0B800H ; 32KB B800:0000
 MODE_CONT EQU 03B8H ; DISPLAY CONTROLE MODE ;BIT7=1 PAGE1 ;=0 PAGE0
 PRNT_STAT EQU 03BDH ; PRINTER STATUS
 CONFIG EQU 03BFH ; BIT 0 =TEXT MODE; =1 GRAPHICS MODE
 X_DOT EQU 0720 ; WWW a redefinir NB PIX/LINE
 X_BYTE EQU 0720/8 ; X_DOT/8 HERCULE
 Y_DOT EQU 0348 ; WWW NB PIX/COL
 Y_BYTE EQU 0344/8 ; 43,5 * 8 = 348 lignes d’écran
 PRT_MODE EQU 059H ; QUADRULE DENSITE=5AH
 ; DOUBLE=4CH &DOUBLE SPEED=59H
 ; SIMPLE=4BH
 ; CRT= PLOT=
 LINE_SPA EQU 031H ; 7/72 line spacing
 CONST ENDS
 CODE SEGMENT PUBLIC 'CODE'
 ADR_PS_BIOS DD HERC_PS_GRA
 INI EQU $
 XOR SI,SI
 MOV ES,SI
 MOV AX,CS: WORD PTR ADR_PS_BIOS ;IP ECHANGE DES ADRESSES
 XCHG AX,ES:[SI]+5*4
 MOV CS: WORD PTR ADR_PS_BIOS,AX
 MOV AX,CS: WORD PTR ADR_PS_BIOS +2 ;CS ECHANGE DES ADRESSES
 XCHG AX,ES:[SI]+5*4+2
 MOV CS: WORD PTR ADR_PS_BIOS +2,AX
 MOV AX,3100H ; FONCTION 31 ERR=0 DE INT 21H
 MOV DX,16+NB_PARAGR ; 16*16=256+ESPACE POUR CODES
 INT 21H
 HERC_PS_GRA EQU $
 MOV DX,CONFIG ; DE LA CARTE HERCULE
 IN AL,DX
 TEST AL,01H ; TESTE LE BITS 0 = 1 SI GRAPHIQUE
 JNZ SINON
 JMP ADR_PS_BIOS ; ON QUITTE DEFINITIVEMENT...
 SINON EQU $
 MOV AX,XXDATA ; PRINT SCREEN STATUS FLAG
 MOV DS,AX
 CMP STATUS_BYTE,0 ; VOIR SI P_S PAS EN EXECUTION
 JZ S
 JMP FS ; FIN DU SI
 S EQU $
 MOV STATUS_BYTE,1 ; POSITIONNER LE FLAG
 STI ; INTRERRUPTS ENABLED
 MOV AX,DGROUP
 MOV DS,AX ; INI DS
 MOV FLAG_ERR,0
 MOV DX,MODE_CONT
 IN AL,DX
 AND AL,80H ; TEST BIT 7 DISP MOD CONT PORT
 JZ PAGE1 ; WWW JNZ ici JZ pour essais
 MOV AX,PAGE_0
 MOV ADR_PAGE,AX
 JMP SHORT F_INI_PAG
 PAGE1 EQU $
 MOV AX,PAGE_1
 MOV ADR_PAGE,AX
 F_INI_PAG EQU $
 XOR DX,DX ; LPT1
 MOV AH,01H ; RESET LPT
 INT 17H
 TEST AH,25H ; =0 si tout OK
 JZ S_S
 MOV FLAG_ERR,255 ; =ERREUR IMPRIMANTE
 JMP FS_S ; SORTIR (SANS MODIF ECRAN)
 S_S EQU $
 MOV AL,1BH ; ESC
 XOR AH,AH ; CHAR DANS AL
 XOR DX,DX ; LPT1
 INT 17H
 TEST AH,25H
 JZ S_S_S
 MOV FLAG_ERR,255
 S_S_S EQU $
 CMP FLAG_ERR,0
 JZ S_S_S2
 * ALORS 255 DANS FLAG ERR
 MOV FLAG_ERR,255
 JMP SHORT FS_S_S2
 * SINON ENVOYER LINE SPAC
 S_S_S2 EQU $
 MOV AL,LINE_SPA
 XOR AH,AH
 XOR DX,DX
 INT 17H
 * SI ERR AU RETOUR
 TEST AH,25H
 JZ S_S_S2_S
 * ALORS 255 DANS FLAG ERR
 MOV FLAG_ERR,255
 S_S_S2_S EQU $
 FS_S_S2
 MOV CL,Y_BYTE ; INI DL POUR 344/8 OCTETS
 XOR SI,SI ; INI VECTEUR ORIGINE A 0
 T_S LABEL NEAR
 DEC CL
 JNZ $+5
 JMP FT_S
 CMP FLAG_ERR,0
 JZ $+5
 JMP FT_S
 PUSH CX ;1 ; SAUVER COMPTEUR Y
 PUSH SI ;2 ; SAUVER INDEX ORIGINE LIGNE
 MOV AL,1BH ; ESC
 XOR AH,AH ; INDIQUE CHAR DANS AL
 XOR DX,DX
 INT 17H ; ENVOI A L'IMPRIMANTE
 TEST AH,25H ; STATUS RETOUR D'IMPRIMANTE
 JZ S_T ; SANS MODIF ECRAN
 * ALORS 255 DANS FLAG ERR
 MOV FLAG_ERR,255
 JMP FS_T
 S_T EQU $
 MOV AL,PRT_MODE ; SIMP DOUB QUAD DENSITE...
 XOR AH,AH
 XOR DX,DX
 INT 17H
 TEST AH,25H
 JZ S_S_T
 MOV FLAG_ERR,255
 JMP SHORT FS_S_T
 S_S_T EQU $
 MOV AL,X_DOT -512 ; www SI NB PIX < 768=256*3
 XOR AH,AH
 XOR DX,DX
 INT 17H
 TEST AH,25H
 JZ S_S_S_T
 ALORS 255 DANS FLAG ERR
 MOV FLAG_ERR,255
 JMP SHORT FS_S_S_T
 S_S_S_T EQU $
 MOV AL,2 ; www 512 DOTS = 256*2
 XOR AH,AH
 XOR DX,DX
 INT 17H
 TEST AH,25H
 JZ FS_S_S_S_T
 MOV FLAG_ERR,255
 FS_S_S_S_T EQU $
 FS_S_S_T EQU $
 FS_S_T EQU $
 FS_T EQU $
 MOV CL,BYTE PTR X_BYTE +1 ; POUR X_BYTE*8 OCTETS=720
 XOR SI,SI ; ORIGINE=0
 T_T EQU $
 DEC CL
 JZ FT_T
 CMP FLAG_ERR,0
 JZ $+5
 JMP FT_T_S
 PUSH CX ;3 ; COMPTEUR X
 PUSH SI ;4 ; INDEX COLONNE MODULO 8
 MOV AX,ADR_PAGE ; ORG PAGE
 MOV ES,AX
 MOV CX,2
 SHIFT EQU $
 PUSH CX ; 5
 PUSH SI ; 6
 MOV CX,4 ; 4 BITS ROTATIONS
 SHIFT1 EQU $
 MOV AL,ES:[SI]
 RCL AL,1 ; BIT DANS CARRY
 RCL BUFFER,1 ; CARRY DANS BUFFER
 RCL AL,1
 RCL BUFFER +1,1
 RCL AL,1
 RCL BUFFER +2,1
 RCL AL,1
 RCL BUFFER +3,1
 RCL AL,1
 RCL BUFFER +4,1
 RCL AL,1
 RCL BUFFER +5,1
 RCL AL,1
 RCL BUFFER +6,1
 RCL AL,1
 RCL BUFFER +7,1
 ADD SI,2000H
 LOOP SHIFT1
 POP SI ; 6
 ADD SI,X_BYTE ; +90 OCTETS POUR HERCULE
 POP CX ; 5
 LOOP SHIFT ; CX-1
 MOV CX,8 ; COMPTEUR = 8
 XOR SI,SI ; INDEX = 0
 T_T_T_S EQU $
 CMP FLAG_ERR,0
 JNZ FT_T_T_S
 MOV AL,BUFFER[SI]
 XOR AH,AH
 XOR DX,DX
 INT 17H
 TEST AH,25H ; DIRECT AU RETOUR
 JZ CONTINUER
 MOV FLAG_ERR,255
 CONTINUER EQU $
 LOOP T_T_T_S
 FT_T_T_S EQU $
 POP SI ;-4 ; INDEX COLONNE MODULO 8
 INC SI ; 8*8 PIXTELS SUIVANTS / LIGNE
 POP CX ;-3 ; DU T Q PAS FIN 720/8 COLONNES
 JMP T_T_S
FT_T_S EQU $
 MOV AL,0DH
 XOR AH,AH
 XOR DX,DX
 INT 17H
 TEST AH,25H
 JZ NLINE
 MOV FLAG_ERR,255
 NLINE EQU $
 POP SI ;-2 ; RECUPERE INDEX DE 1ere COLONNE
 ADD SI,90*8 ; 8 'TRAMES' SUIVANTES
 POP CX ;-1 ; DU T Q PAS FIN 344/8 LIGNES
 JMP T_S
FT_S LABEL NEAR
 CMP FLAG_ERR,0
 JNZ FS_S
FS_S LABEL NEAR
 MOV AL,FLAG_ERR ; 0=OK FINI PS 255=ERREUR
 MOV BX,XXDATA ; S'IL N'Y A PAS EU D'ERREUR = 0
 MOV DS,BX ; S'IL Y A EU ERREUR = 255
 MOV STATUS_BYTE,AL
 FS LABEL NEAR
 IRET ; FIN
 CODE ENDS
STACK SEGMENT STACK 'STACK'
 DW 64 DUP(?)
STACK_BASE LABEL WORD
STACK ENDS
 END INI
Styles C.
Fichiers de tests unitaires de la fonction cpp_() dans mkd
See Files to test cpp.c
Style Fortran.
Fichier STATS.FOR Encodage ASCII, Fortran 77, pour mkd 2013 avec Code de sélection en 3ème colonne.
Voir aussi fichiers pour Fortran 90 et ultérieurs avec option -l
C O********************************************************************
C
C O STATS.FOR
C
C O Calculates simple statistics (minimum, maximum, mean, median,
C O variance, and standard deviation) of up to 50 values.
C
C O Reads one value at a time from unit 5. Echoes values and
C O writes results to unit 6.
C
C O All calculations are done in single precision.
C
C
C O*********************************************************************
 DIMENSION DAT(50)
 OPEN(5,FILE=' ')
 N=0
 DO 10 I=1,50
 READ(5,99999,END=20) DAT(I)
 N=I
 10 CONTINUE
C O Too many values. Write error message and die.
 WRITE(6,99998) N
 STOP
C O Test to see if there's more than one value. We don't want to divide
C O by zero.
20 IF(N.LE.1) THEN 
C O Too few values. Print message and die.
 WRITE(6,99997) 
 ELSE
C O Echo input values to output.
 WRITE(6,99996)
 WRITE(6,99995) (DAT(I),I=1,N)
C O Calculate mean, standard deviation, and median.
 CALL MEAN (DAT,N,DMEAN)
 CALL STDEV (DAT,N,DMEAN,DSTDEV,DSTVAR)
 CALL MEDIAN (DAT,N,DMEDN,DMIN,DMAX)
 WRITE(6,99994) N,DMEAN,DMIN,DMAX,DMEDN,DSTVAR,DSTDEV
 ENDIF
 STOP
99999 FORMAT(E14.6)
99998 FORMAT('0 ********STAT: TOO MANY VALUES-- ',I5)
99997 FORMAT('0 ********STAT: TOO FEW VALUES (1 OR LESS) ')
99996 FORMAT(//,10X,
 +' ******************SAMPLE DATA VALUES*****************'//)
99995 FORMAT(5(1X,1PE14.6))
99994 FORMAT(///,10X,
 +' ******************SAMPLE STATISTICS******************',//,
 +15X,' Sample size = ',I5,/,
 +15X,' Mean = ',1PE14.6,/,
 +15X,' Minimum = ',E14.6,/,
 +15X,' Maximum = ',E14.6,/
 +15X,' Median = ',E14.6,/
 +15X,' Variance = ',E14.6,/
 +15X,' St deviation= ',E14.6////)
 END
C O Calculate the mean (XMEAN) of the N values in array X.
 SUBROUTINE MEAN (X,N,XMEAN)
 DIMENSION X(N)
 SUM=0.0
 DO 10 I=1,N
 SUM=SUM+X(I)
 10 CONTINUE
 XMEAN=SUM/FLOAT(N)
 RETURN
 END
C O Calculate the standard deviation (XSTDEV) and variance (XVAR)
C O of the N values in X using the mean (XMEAN).
C O This divides by zero when N = 1.
 SUBROUTINE STDEV (X,N,XMEAN,XSTDEV,XVAR)
 DIMENSION X(N)
 SUMSQ=0.0
 DO 10 I=1,N
 XDIFF=X(I)-XMEAN
 SUMSQ=SUMSQ+XDIFF*XDIFF
 10 CONTINUE
 XVAR=SUMSQ/FLOAT(N-1)
 XSTDEV=SQRT(XVAR)
 RETURN
 END
C O Calculate the median (XMEDN), minimum (XMIN), and maximum (XMAX) of
C O the N values in X.
C O MEDIAN sorts the array and then calculates the median value.
 SUBROUTINE MEDIAN (X,N,XMEDN,XMIN,XMAX)
 DIMENSION X(N)
 CALL SORT (X,N)
 IF(MOD(N,2).EQ.0) THEN
 K=N/2
 XMEDN=(X(K)+X(K+1))/2.0
 ELSE
 K=(N+1)/2
 XMEDN=X(K)
 ENDIF
 XMIN=X(1)
 XMAX=X(N)
 END
C O Sort the N values in array X. SORT uses a bubble sort
C O that quits when no values were exchanged on the last pass.
C O Each pass goes from the first element to where the last
C O exchange occurred on the previous pass.
 SUBROUTINE SORT (X,N)
 DIMENSION X(N)
 IBND=N
 20 IXCH=0
 DO 100 J=1,IBND-1 
 IF(X(J).GT.X(J+1))THEN
 TEMP=X(J)
 X(J)=X(J+1)
 X(J+1)=TEMP
 IXCH=J
 ENDIF
 100 CONTINUE
 IF (IXCH.EQ.0) RETURN
 IBND=IXCH
 GO TO 20
 END
Style Pascal.
Fichier TRINOMS.PAS Encodage 
(*D
 * *
 * PROJET: Tri de noms *
 * Titre : Trinoms Prefixe global: ... *
 * Programme de tri de trois noms par ordre alphabetique. *
 * Mises a Jour du Module: *
 * 26/11/90 par JPL *
 **************************************************************************
 * PROGRAMMATION : *
 * Dossier de conception : cours de Monsieur Jean BARRIER *
 * Environnement : DOS 3.3, Turbo Pascal 5 *
 * Sauvegarde : B:\PF\TRINOMS.PAS *
 **************************************************************************
 * VERSION : Date Auteur Commentaire *
 * 1.0 26/11/90 JPL Version d'essai et d'evaluation de turbo 5 *
 * STRUCTURE DU MODULE : *
 * 1: Environnement : *
 * 1.1 : Variables Publiques. *
 * 1.2 : Variables Globales Privees. *
 * 2: Programme principal: test du module *
 **************************************************************************
 * *
 * 1.1 : Variables Publiques. *
 **************************************************************************
 * *
 * 1.2 : Variables Globales Privees. *
 **************************************************************************
(*O
 * * 2: Programme principal: test du module *
 * * Fonction : *
 * * Lire 3 noms commencant par des lettres differentes frappees *
 * * au clavier, puis les afficher  l'ecran, dans l'ordre *
 * * alphabetique *
 * * Entrez : 3 noms au clavier. *
 * * Sortie : affichage  l'ecran, dans l'ordre alphabetique *
 Write( 'entrer un nom : ' );
 ReadLn( Nom1 );
 Write( 'encore un : ' );
 ReadLn( Nom2 );
 Write( 'un dernier : ' );
 ReadLn( Nom3 );
 IF ( Nom1 < Nom2 ) AND ( Nom1 < Nom3 )
 THEN
 Write( Nom1, ' ' );
 IF ( Nom2 < Nom3 ) THEN Writeln( Nom2, ' ', Nom3 ) ELSE Writeln( Nom3, ' ', Nom2 );
 ELSE
 IF ( Nom2 < Nom3 )
 THEN
 Write( Nom2, ' ' );
 IF ( Nom1 < Nom3 )
 THEN Writeln( Nom1 , ' ', Nom3)
 ELSE Writeln( Nom3, ' ', Nom1 )
 ELSE
 Write( Nom3, ' ' );
 IF ( Nom1 < Nom2 )
 THEN
 writeln( Nom1, ' ', Nom2 );
 ELSE
 Writeln( Nom2, ' ', Nom1 );
Style Shell.
Fichier de test shell ESSAI.SH
echo le doublet 'antislatch NL' ne prolonge pas le commentaire #
 # ceci est un commentaire
 \# ceci n'est pas un commentaire. #
EN VOICI LA PREUVE: par 'mkd -sta ** essais.sh' #