• Aucun résultat trouvé

sujet-2

N/A
N/A
Protected

Academic year: 2022

Partager "sujet-2"

Copied!
3
0
0

Texte intégral

(1)

Examen de Compilation

Licence Sciences Pour Ingénieur 25 juin 2015

Le sujet est composé d’exercices indépendants. Aucun document n’est autorisé. Durée de l’épreuve : 0x78 minutes. La présentation de la copie entre en compte dans la note finale.

1 Expression régulière

1 #!/bin/bash

2 # stupid prime generator

3 reg=’^(xx+)\1+$’ ; y=xx ; cpt=

$1

4 while[[ cpt −gt 0 ]] ; do

5 if [[ ! $y =~ $reg ]]; then

6 echo −n ’ ’${#y}

7 let cpt−−

8 fi

9 y=x$y

10 done

Le script utilise une commandegrep basée sur une expression rationnelle étendue conte- nant une référence arrière. Une fonctionalité dé- crite dansman 7 regex.

REGEX( 7 ) Manuel du programmeur

Linux

NOM r e g e x E x p r e s s i o n s r a t i o n n e l l e s POSIX . 2

DESCRIPTION

l a r é f é r e n c e a r r i è r e : «\» s u i v i d ’ un c h i f f r e d é c i m a l non−n u l n

c o r r e s p o n d à l a même s é q u e n c e de c a r a c t è r e s que ceux mis en

c o r r e s p o n d a n c e

a v e c l a n−ième s o u s−e x p r e s s i o n e n t r e p a r e n t h è s e s . ( l e s s o u s−e x p r e s s i o n s

s o n t

n u m é r o t é e s p a r l e u r s p a r e n t h è s e s o u v r a n t e s , de gauche à d r o i t e ) , a i n s i « ( [ bc ] ) \1 » c o r r e s p o n d à « bb » ou « c c » mais p a s à « bc » .

1. Que représentent les caractères spéciauxet $ dans une expression régulière ? 2. Décrire le langageLdes mots correspondants au motif (a+)\1.

3. Préciser la nature, régulier, algébrique, deL.

4. Commenter le résultat de la commande ci-dessous.

exam> t i m e . / prime . sh 10 2 3 5 7 11 13 17 19 23 29 r e a l 0m0. 2 0 9 s

u s e r 0m0. 1 8 7 s s y s 0m0. 0 0 2 s

1

(2)

Tab.1 – Les 8 instructions debfm

symb mnémo. ignification codage

> INC incrémente le pointeur ptr++

< DEC décrémente le pointeur ptr-- + ADD incrémente l’octet pointé mem[ptr]++

SUB décrémente l’octet pointé mem[ptr]--

! OUT sortie de l’octet pointé putchar(mem[ptr])

? IN entrée d’un octet mem[ptr]=getchar()

[ LOOP saut si 0 aprés ] while ( mem[ptr] ) {

] RET retour vers [ }

2 Théorie des Langages

On considère l’alphabet A ={0,1}. Pour tout langageX, on note p(X) les mots deX qui ont une longueur paire :

p(X) ={x∈X | |x| ≡0 mod 2}.

1. Montrer que siX est rationnel alorsp(X) est rationnel.

2. La réciproque est fausse, donner un contre-exemple.

3. Construire l’automate des mots binaires de longueur paire qui représentent un multiple de trois.

3 gcc-flex

Le langage BF est un langage minimaliste qui s’appuie sur un modèle de machine composé d’un tableau d’octets MEM (initialisés à 0), d’un pointeur PTR sur le tableau et de deux files d’octets pour les entrées et sorties. La machine gère les huit opérations décrites par la table [1].

Un programme en langage BF est une suite d’octets :>,<, +,−, ?, !, [ et ] qui sont interprétés, les espaces et les caractères situés à droite d’un ’ ;’ sont ignorés.

%{

#i n c l u d e < s t d i o . h>

v o i d p r o l o g u e ( v o i d ) {

p u t s ("# i n c l u d e < s t d i o . h>\ n t y p e d e f u n s i g n e d c h a r u c h a r ; \ n\

u c h a r mem[ 1 0 2 4 ] = { 0 } ; \ n i n t p t r =0;\ n i n t main ( v o i d ) {\ n\

p r i n t f (\"# b r a i n f∗∗∗ v1 . 0 \ \ n \ " ) ; " ) ; }

v o i d e p i l o g u e ( v o i d ) {

p u t s ( " p u t s (\"# e o j \\ n \ " ) ; r e t u r n 0 ; } " ) ; }

%}

%%

[ ]+ ;

; . ;

\n ;

. ;

%%

2

(3)

i n t main ( v o i d ) {

p r o l o g u e ( ) ; y y l e x ( ) ; e p i l o g u e ( ) ; r e t u r n 0 ; }

++++++++++

[ ; B o u c l e i n i t i a l e q u i a f f e c t e d e s v a l e u r s u t i l e s au t a b l e a u MEM

>+++++++>++++++++++>+++>+<<<< ]

;A l a s o r t i e de l a b o u c l e l e t a b l e a u de l a machine c o n t i e n t :

>++! ; ’ H’ = 72 ( 7 0 p l u s 2 )

>+! ; ’ e ’ = 101 ( 1 0 0 p l u s 1 )

+++++++! ; ’ l ’ = 108 ( 1 0 1 p l u s 7 )

! ; ’ l ’ = 108

+++! ; ’ o ’ = 111 ( 1 0 8 p l u s 3 )

>++! ; e s p a c e = 32 ( 3 0 p l u s 2 )

<<+++++++++++++++! ; ’W’ = 87 ( 7 2 p l u s 1 5 )

>! ; ’ o ’ = 111

+++! ; ’ r ’ = 114 ( 1 1 1 p l u s 3 )

−−−−−−! ; ’ l ’ = 108 ( 1 1 4 moins 6 )

−−−−−−−−! ; ’ d ’ = 100 ( 1 0 8 moins 8 )

>+! ; ’ ! ’ = 33 ( 3 2 p l u s 1 )

>! ; n o u v e l l e l i g n e = 10

hw.bf

1. Comment compilerbftoc.lpour obtenir un exécutablebftoc.exe?

2. Quel est le résultat debftoc.exeappliqué à un fichier (entrée standard) vide ?

3. Compléter le fichier bftoc.l pour obtenir un traducteur en flex du langage BF vers le langage C.

4. Préciser comment (compilations comprises) exécuter le progammehw.bf.

3

Références

Documents relatifs

Elle est d’autant plus importante que la masse de la charge est grande et s’oppose à la mise en mouvement. Elle est caractérisée par le moment d’inertie J, qui s’exprime en

Ils sont ensuite émis sans vitesse par la source S, puis accélérés par un champ électrostatique uniforme qui règne entre S et P tel que.. U sp

Le tableau suivant indique les pourcentages de part de marché que la firme F peut espérer obtenir suivant les circuits choisis par elle et la concurrence :... Combien de

Si l'on en croit Jesse Fox, auteur principal d'une étude et professeur assistante en communication à l'Université de l'Ohio, les hommes qui publient beaucoup de selfies sur

Les élèves ne disposant pour l’instant que d’informations qualitatives sur l’énergie potentielle et l’énergie cinétique d’un système, le but de

Pour cela (figure 1), on émet dans le local I avec une source de bruit normalisée, et on mesure dans le local II, séparé de I par la paroi étudiée, le niveau acoustique par

Réaliser une analyse de l’arbre généalogique suivant pour déterminer quel risque pour III4 d’avoir un enfant malade. Les femmes sont symbolisées par des ronds, et les hommes par

L'objet posé sur le sol ne pourra en aucun cas libérer de l'énergie par le travail de son poids. Son énergie potentielle de pesanteur est nulle. Pour définir une énergie potentielle