Salut, je suis entrain de développer un langage de programmation qui décrit ma plateforme d'adaptation multimédia dans un environnement hétérogène.
le syntaxe suivant est à celui d'un composant de ma plateforme décrit en EBNF.
ce composant est l'analyseur de profil qui a comme rôles de capter le profil utilisateur et de déterminer les propriétés liés à ce profil.

Merci de m'aider.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
start :AdaptationRule
adaptationRule::=Expression Rule
Expression::=DocumentAnalyser UserProfilAnalyser
Rule::=AdaptationProcess {AdaptationProcess}
DocumentAnalyser::=MediaType
MediaType::=SimpleMediaType {SimplemediaType} Stream
SimpleMediaType::= Type Pair
Type::= '' Text'' | ''Video'' | ''Bitmap'' | ''Audio''
Pair::=name value
name::= nm ''.'' extension
value::= stream
nm::=''a''|''b''|''c''|''d''|''e''|''f''|''i''|''j''|''k''|''l''|''m''|''n''|''o''|''p''|''q''|''r''|''s''|''t'|''u''|v''|''w''|''x''|''y''|''z''|''A'|''B''|''C''|''D''|''E''|''F''|''I''|''J''|''K''|''L''|''M''|''N''|''O''|''P''|''Q''|''R''|''S''|''T''|''U''|''V''|''W''|''X''|''Y''|''Z''|''0''|''1''|''2''|''3''|''4''|''5''|''6''|''7''|''8''|''9''

{''a''|''b''|''c''|''d''|''e''|''f''|''i''|''j''|''k''|''l''|''m''|''n''|''o''|''p''|''q''|''r''|''s''|''t'|''u''|v''|''w''|''x''|''y''|''z''|''A'|''B''|''C''|''D''|''E''|''F''|''I''|''J''|''K''|''L''|''M''|''N''|''O''|''P''|''Q''|''R''|''S''|''T''|''U''|''V''|''W''|''X''|''Y''|''Z''|''0''|''1''|''2''|''3''|''4''|''5''|''6''|''7''|''8''|''9''}

extension::=VideoExtn |textExtn|Audioextn| Pictureextn
Videoextn::= ''avi''| “mp4”
textExtn::=''txt''|''doc''|''odt''|''rtf''|''docx''|'xls''
flow::=inputflow| outputflow
inputflow::=''index'' ''name'' ''id''
outputflow::=''index'' ''name'' ''id''
stream::= bitmapStream | textStream | VideoStream | AudioStream
bitmapStream::=objectIdentifier initiallyActive originalBoxSize BitmapData
textStream::=ObjectIdentifier originBoxSize originalposition TextData
VideoStream::= odjectIdentifier groupitems
AudioStream::= objectIdenfier initiallyActive Stamp Begin End AudioData
BitmapData::=''IOStream''
TextData::=''IOStream''
AudioData::=''IOStream''
Stamp::=nb
Begin::=nb ''s''
end::=nb ''s''
objectidentifier::=nb
nb::=digit{digit}
digit::=1|2|3|4|5|6|7|8|9|0
initiallyActive::=''TRUE''|''FALSE''
originalBoxSize ::=''('' originalBoxSizeX originalBoxSizeY '')''
originalBoxSizeX::=digit{digit}
originalBoxSizeY::=digit{digit}
originalPositionSize ::=''('' originalBoxSizeX originalBoxSizeY '')''
originalPositionSizeX::=digit{digit}
originalPositionSizeY::=digit{digit}

// UserProfilAnalyser ISO04
UserProfilAnalyser::=TerminalCaractristicsAnalyser NetworkAnalyser UserPreference [NaturalEnvironementAnalyser]
TerminalCaractristicsAnalyser ::=MediaEncoding EncodingFormat CommunicationProtocol
NetworkAnalyser::=Bandwidth delay ErrorCaracteristics
UserPreference::=mediaPreference PresentationParameters UsageHistory locationCaracteristics
MediaEncoding::= TextEncoding Video Encoding ImageEncoding