Bonjour tout le monde ,
je vous présente mon script qui contient plusieurs fonctions :
lorsque je lance ce script voila ce que j'obtiens :
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
50
51
52
53
54
55 function expr { " je suis dans EXPR..." facteur while (1) { switch -regex ($ligne[$script:i]) { [-+] { accepter;facteur;$script:result += $_ } default { "je sors de EXPR.";return } } } } function accepter { $script:i++ } function refuser { $script:i-- } function facteur { "je suis dans FACTEUR..." switch -regex (analex) { '(' { $_;accepter;expr;')';accepter } 'nb' { $script:result += $script:lexeme.valeur } default { "ERREUR" } } "je sors de FACTEUR." } function analex { "je suis dans ANALEX..." $script:lexeme.id='NA' $script:lexeme.valeur=0 switch -regex ($ligne[$script:i]) { [0-9] { $script:lexeme.id='nb' while(1) { $script:lexeme.valeur *= 10+$_;accepter switch -regex ($ligne[$script:i]) { [0-9] { accepter;continue } default { break } } } return $script:lexeme } '`n`t' { accepter;continue } ' ' { accepter;continue } '(' { return $($script:lexeme.id=$_) } default { return $script:lexeme } } } foreach($ligne in $input) { $script:lexeme=@{} $script:result="" $script:i=0 expr $script:result }
je suis dans EXPR...
je suis dans FACTEUR...
On dirais qu'il ne veut pas entrer dans la fonction "analex" !? pourquoi ??
PS : en plus je dois breaké pour retrouver la console ....
Partager