o
    ‡ÎÖañ/  ã                   @   s^   d Z ddlmZmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZ dgZG dd„ deƒZdS )z¾
    pygments.lexers.praat
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for Praat

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚwordsÚbygroupsÚinclude)ÚNameÚTextÚCommentÚKeywordÚStringÚPunctuationÚNumberÚOperatorÚ
PraatLexerc                   @   s  e Zd ZdZdZdgZg d¢ZdZdZdZ	dZ
d	Zd
ZdZdZi ddeeejƒfdejfdejfdefdedfdedfdejdfedƒeedd�efdeeeeƒdfdeeeƒdfdeeeejƒfedƒed ƒd!ed"feed#d�ejdfd$ed%fd&efg“d%d'efed(ƒd)ed*fd+ed,fd-ed.fg“ddefd/eejeƒd.fd0ejd*fg“dd-efd1eejeƒd.fd2eejeƒd.fg“deed3d�ejd4fee
d5d�ejd4fee	d6d�ejd4fg“d4defd+ed,fd7ed,fg“d8d9eeeƒfd:ed.fdefd!ed"fd;efedƒedƒed<ƒed ƒd=efd>efg“d?d@ed.fedƒed<ƒed ƒd!ed"fdAefg“d d@ed.fdBefg“dCed(ƒdDejfeedEdF�ejd.fdGejfdHed.fg“ded<ƒed ƒeedGd�ejjfeedId�ejjfeeddJdK�eejejƒdCfdLefdMed8fed(ƒg“d<dNe fdOe j!fg“d(dPej"fg“ddQeeeƒfd@ed.fd-efed(ƒdRefdSefg“d"dQeeeƒfd!ed.fed(ƒdRefdTefg“ddeeejƒfdefdUeeeƒd fdVeeeƒdfdWeeeƒdfdXeeeeeƒfdYeeeejƒfdZeeee eƒfd[eeeƒdfd\ed.fg
“Z#d]S )^r   zQ
    For `Praat <http://www.praat.org>`_ scripts.

    .. versionadded:: 2.1
    ÚPraatÚpraat)z*.praatz*.procz*.psc)ÚifÚthenÚelseÚelsifÚelifÚendifÚfiÚforÚfromÚtoÚendforÚendprocÚwhileÚendwhileÚrepeatÚuntilÚselectÚplusÚminusÚdemoÚassertÚ	stopwatchÚnocheckÚnowarnÚ
noprogressÚeditorÚ	endeditorÚ	clearinfo)ÚbackslashTrigraphsToUnicodeÚchooseDirectoryÚchooseReadFileÚchooseWriteFileÚdateÚdemoKeyÚdoÚenvironmentÚextractLineÚextractWordÚfixedÚinfoÚleftÚmidÚpercentÚreadFileÚreplaceÚreplace_regexÚrightÚselectedÚstringÚunicodeToBackslashTrigraphs)�ÚabsÚ
appendFileÚappendFileLineÚ
appendInfoÚappendInfoLineÚarccosÚarccoshÚarcsinÚarcsinhÚarctanÚarctan2ÚarctanhÚbarkToHertzÚ
beginPauseÚbeginSendPraatÚbesselIÚbesselKÚbetaÚbeta2Ú	binomialPÚ	binomialQÚbooleanÚceilingÚ
chiSquarePÚ
chiSquareQÚchoiceÚcommentÚcosÚcoshÚcreateDirectoryÚ
deleteFileÚdemoClickedÚdemoClickedInÚdemoCommandKeyPressedÚdemoExtraControlKeyPressedÚ	demoInputÚdemoKeyPressedÚdemoOptionKeyPressedÚdemoShiftKeyPressedÚdemoShowÚdemoWaitForInputÚdemoWindowTitleÚdemoXÚdemoYÚdifferenceLimensToPhonr3   r*   ÚendPauseÚendSendPraatÚendsWithÚerbÚ
erbToHertzÚerfÚerfcÚ
exitScriptÚexpÚextractNumberÚfileReadableÚfisherPÚfisherQÚfloorÚgaussPÚgaussQÚhertzToBarkÚ
hertzToErbÚ
hertzToMelÚhertzToSemitonesÚimaxÚiminÚincompleteBetaÚincompleteGammaPÚindexÚindex_regexÚintegerÚinvBinomialPÚinvBinomialQÚinvChiSquareQÚ
invFisherQÚ	invGaussQÚ
invSigmoidÚinvStudentQÚlengthÚlnÚlnBetaÚlnGammaÚlog10Úlog2ÚmaxÚ
melToHertzÚminÚminusObjectÚnaturalÚnumberÚnumberOfColumnsÚnumberOfRowsÚnumberOfSelectedÚobjectsAreIdenticalÚoptionÚ
optionMenuÚpauseScriptÚphonToDifferenceLimensÚ
plusObjectÚpositiveÚrandomBinomialÚrandomGaussÚrandomIntegerÚrandomPoissonÚrandomUniformÚrealr<   ÚremoveObjectÚrindexÚrindex_regexÚroundÚ	runScriptÚ	runSystemÚrunSystem_nocheckÚselectObjectr@   ÚsemitonesToHertzÚsentenceÚsentencetextÚsigmoidÚsinÚsincÚsincpiÚsinhÚsoundPressureToPhonÚsqrtÚ
startsWithÚstudentPÚstudentQÚtanÚtanhÚtextÚvariableExistsÚwordÚ	writeFileÚwriteFileLineÚ	writeInfoÚwriteInfoLine)Úlinearr©   rª   r¬   Úzero)ŠÚ
ActivationÚAffineTransformÚAmplitudeTierÚArtÚArtwordÚAutosegmentÚ
BarkFilterÚBarkSpectrogramÚCCAÚ
CategoriesÚCepstrogramÚCepstrumÚ	CepstrumcÚChebyshevSeriesÚClassificationTableÚCochleagramÚ
CollectionÚComplexSpectrogramÚConfigurationÚ	ConfusionÚContingencyTableÚCorpusÚCorrelationÚ
CovarianceÚCrossCorrelationTableÚCrossCorrelationTablesÚDTWÚDataModelerÚDiagonalizerÚDiscriminantÚDissimilarityÚDistanceÚDistributionsÚDurationTierÚEEGÚERPÚERPTierÚEditCostsTableÚEditDistanceTableÚEigenÚ
ExcitationÚExcitationsÚExperimentMFCÚFFNetÚFeatureWeightsÚFileInMemoryÚFilesInMemoryÚFormantÚFormantFilterÚFormantGridÚFormantModelerÚFormantPointÚFormantTierÚGaussianMixtureÚHMMÚHMM_ObservationÚHMM_ObservationSequenceÚ	HMM_StateÚHMM_StateSequenceÚHarmonicityÚISplineÚIndexÚ	IntensityÚIntensityTierÚIntervalTierÚKNNÚ	KlattGridÚ
KlattTableÚLFCCÚLPCÚLabelÚLegendreSeriesÚLinearRegressionÚLogisticRegressionÚ	LongSoundÚLtasÚMFCCÚMSplineÚManPagesÚManipulationÚMatrixÚ	MelFilterÚMelSpectrogramÚMixingMatrixÚMovieÚNetworkÚObjectÚ	OTGrammarÚ	OTHistoryÚOTMultiÚPCAÚPairDistributionÚ
ParamCurveÚPatternÚPermutationÚPhotoÚPitchÚPitchModelerÚ	PitchTierÚPointProcessÚPolygonÚ
PolynomialÚPowerCepstrogramÚPowerCepstrumÚ
ProcrustesÚ	RealPointÚRealTierÚ
ResultsMFCÚRootsÚSPINETÚSSCPÚSVDÚSalienceÚScalarProductÚ
SimilarityÚSimpleStringÚSortedSetOfStringÚSoundÚSpeakerÚSpectrogramÚSpectrumÚSpectrumTierÚSpeechSynthesizerÚSpellingCheckerÚStringsÚStringsIndexÚTableÚTableOfRealÚTextGridÚTextIntervalÚ	TextPointÚTextTierÚTierÚ
TransitionÚ
VocalTractÚVocalTractTierÚWeightÚWordList)Ú	macintoshÚwindowsÚunixÚpraatVersionÚpiÚeÚ	undefined)r[  ÚtabÚshellDirectoryÚhomeDirectoryÚpreferencesDirectoryÚnewlineÚtemporaryDirectoryÚdefaultDirectory)
ÚncolÚnrowÚxminÚyminÚxmaxÚymaxÚnxÚnyÚdxÚdyÚrootz(\s+)(#.*?$)z^#.*?$z;[^\n]*z\s+z\bprocedure\bÚprocedure_definitionz\bcall\bÚprocedure_callú@Úfunction_callz\b)Úsuffixz(\bform\b)(\s+)([^\n]+)Úold_formzn(print(?:line|tab)?|echo|exit|asserterror|pause|send(?:praat|socket)|include|execute|system(?:_nocheck)?)(\s+)Ústring_unquotedz(goto|label)(\s+)(\w+)Úvariable_namer�   ú"rA   z(?=\s+\S+\n)z\b[A-Z]Úcommandz(\.{3}|[)(,])z( ?[\w()-]+ ?)Ústring_interpolatedz\.{3})ú#popÚold_argumentsú:)r|  Ú
comma_listz\sr|  z([\w.]+)(:|\s*\()z([\w.]+)z([\w.]+)(\s*?[(:])z([\w.]+)([^\n]*)z\$(?=\s*[:(])Úfunctionz#(?=\s*[:(])z(?=\s*[:(])z\s*\(r  z(\s*\n\s*)(\.{3})z(\s*[])\n])z\b(if|then|else|fi|endif)\bÚoperatorz[()]ú,r}  z\nz[^\n]z\b\d+(\.\d*)?([eE][-+]?\d+)?%?Úobject_referencez([a-z][a-zA-Z0-9_]*|\d+)z\.)Úprefixz\$z\[z"(?=[^a-zA-Z0-9_."\'$#\[:(]|\s|^|$)z(_))r„  ru  z\.?_?[a-z][\w.]*(\$|#)?z[\[\]]z!([+\/*<>=!-]=?|[&*|][&*|]?|\^|<>)z'(?<![\w.])(and|or|not|div|mod)(?![\w.])z8\'[_a-z][^\[\]\'":]*(\[([\d,]+|"[\w,]+")\])?(:[0-9]+)?\'z(\n\s*)(\.{3})ú'z[^'\n]+z	[^\'"\n]+z%(optionmenu|choice)([ \t]+\S+:[ \t]+)z(option|button)([ \t]+)z(sentence|text)([ \t]+\S+)z((word)([ \t]+\S+[ \t]*)(\S+)?([ \t]+.*)?z((boolean)(\s+\S+\s*)(0|1|"?(?:yes|no)"?)zY(real|natural|positive|integer)([ \t]+\S+[ \t]*)([+-]?)(\d+(?:\.\d*)?(?:[eE][-+]?\d+)?%?)z(comment)(\s+)z\bendform\bN)$Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚkeywordsÚfunctions_stringÚfunctions_numericÚfunctions_arrayÚobjectsÚvariables_numericÚvariables_stringÚobject_attributesr   r   r   ÚSingler	   r   ÚFunctionr   r   r
   r  ÚClassr   r   ÚBuiltinÚVariableÚGlobalr   ÚWordÚInterpolÚtokens© rž  rž  ú7/usr/lib/python3/dist-packages/pygments/lexers/praat.pyr      s„   
ÿ
þáÿ"ùÞ+ÿ
üÕ1ÿÿüÏ8ýÈ=ýÃBñ¾Sø­]þ£aùŸjÿþþð–|þ„ ÿÿ �ÿ ÷ �û ø �ð 
ÿ
ÿ
ÿÿÿþ
ÿä �æN)r‰  Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   rž  rž  rž  rŸ  Ú<module>   s
    
(