Re: Epb v2.68
Publié : mar. 11/juin/2019 8:13
Merci Zorro pour ces nouvelles rassurantes.
Code : Tout sélectionner
If Not CreateRegularExpression(0, "\bprocedure[ .]{1,}[a-zA-Z_0-9-\(.\)-,-$-*- ]+", #PB_RegularExpression_NoCase)
Code : Tout sélectionner
; Mémorisation fichier de test (code pb 9800 lignes 127 procedures)
CallDebugger
file.s=OpenFileRequester("ouvre un pb","d:\","*.pb",0)
If file.s<>""
Debug "Lecture Fichier source en cours..."
ReadFile(0,file.s)
Deb = ElapsedMilliseconds()
While Not Eof(0)
Txt$ = ReadString(0, #PB_File_IgnoreEOL)
Wend
CloseFile(0)
Fin = ElapsedMilliseconds()
Debug "Lecture Terminée. (" + Str(Fin - Deb) + " ms)"
Else
End
EndIf
; Analyse
If Not CreateRegularExpression(0, "\bprocedure[ .]{1,}[a-zA-Z_0-9-\(.\)-,-$-*- ]+", #PB_RegularExpression_NoCase)
Debug RegularExpressionError()
End
EndIf
Debug "Analyse..."
Deb = ElapsedMilliseconds()
If ExamineRegularExpression(0, Txt$)
Debug "--- Resultat"
While NextRegularExpressionMatch(0)
i + 1
pos_procedure=RegularExpressionMatchPosition(0)
Debug "Offset: " + LSet(Str(RegularExpressionMatchPosition(0)), 8, " ") + " - " +RegularExpressionMatchString(0) +"ligne numero:"+CountString(Left(Txt$,pos_procedure), #CRLF$) + 1
Wend
EndIf
Debug ""
Fin = ElapsedMilliseconds()
Debug "Analyse Terminée. (" + Str(Fin - Deb) + " ms) " + Str(i) + " Procédures"
Marc56 a écrit :je vais faire ensuite l'adaptation pour les signets, (lignes commençant par ";-" ou ";{" ou ";{-" )
resultat :;- test 1
;{ test 2
; simple commentaire 2
;}
;{- test 3
; simple commentaire 3
;}
Code : Tout sélectionner
If Not CreateRegularExpression(1, "^;(\{|\-).+", #PB_RegularExpression_NoCase|#PB_RegularExpression_MultiLine)
oui , je le savais , note que j'utilise un groupe () et pas une classe []....Marc56 a écrit :Ton "^;(\{|\-).+" peut s'écrire plus simplement "^;[-{].+"
Les caractères dans les classes [] n'ont pas besoin d'êtres "échappées" \ (saut ])
[-{] suffit
les Signets ne sont pas des commentaires ordinaire, ils ne peuvent pas etre ailleurs qu'au debut d'une ligne !!Les procédures et commentaires ne sont pas forcement en début de ligne, je propose donc
"\s?;[-{].+"
Ici je traite uniquement d'éventuels espaces ou tab à gauche.
sur le site https://regex101.com/"\s?;[-{].+"
Prévenez s'il vous plaît quand vous supprimez un message sinon le sujet n'a ni queue ni tête. Tu avais donc indiqué que tu mettais ta config dans ta dignature.Olliv a écrit :@marc56
Il y a PeDe qui est à 450MHz ici. Est-ce que tu pourrais préciser à quelle vitesse tourne ton petit i3, et avec combien de coeurs?
1. J'ai prévenu que je déplaçais mes exemples pour ne pas polluer le topic de zorro. Les articles ont ensuite été supprimés dans la journée pour garder le topic propre (j'approuve ce nettoyage)Ollivier a écrit : Il y a PeDe qui est à 450MHz ici. Est-ce que tu pourrais préciser à quelle vitesse tourne ton petit i3, et avec combien de coeurs?
Prévenez s'il vous plaît quand vous supprimez un message sinon le sujet n'a ni queue ni tête. Tu avais donc indiqué que tu mettais ta config dans ta dignature.
Donc, en gros, PeDe a un engin 4 fois moins rapide que ton << petit i3 >> qui est déjà à 450 MHz. De souvenir, je suis passé d'un 33MHz à un 450 MHz. On peut vraiment faire un paquet de choses impossibles avec un 33 MHz. C'est une chance de pouvoir faire tourner des programmes sur d'anciennes config sans prise de tête d'adaptation.