Kvalifikationsprincip
I programmeringsspråksteorin säger kvalifikationsprincipen att varje semantiskt meningsfull syntaktisk klass kan tillåta lokala definitioner . Med andra ord, det är möjligt att inkludera ett block i vilken syntaktisk klass som helst, förutsatt att fraserna i den klassen anger någon form av beräkning. ( Watt 1990 )
Ett vanligt exempel på denna princip inkluderar:
-
block kommando -- ett kommando som innehåller en lokal deklaration, som endast används för att utföra detta kommando. I följande utdrag från ett C- program är den deklarerade
tmp-
variabeln lokal för det omgivande blockkommandot:
if ( a > b ) { int tmp ; tmp = a ; a = b ; b = tmp ; }
-
block expression -- ett uttryck som innehåller en lokal deklaration, som endast används för att utvärdera detta uttryck. I följande utdrag från ML- programmet kan lokal deklaration av
g
endast användas under utvärdering av följande uttryck:
låt val g = 9 . 8 tum m * g * h ände
-
blockdeklaration är en som innehåller en lokal deklaration, vars bindningar används endast för att utarbeta blockdeklarationen. I följande utdrag från ML- programmet, lokal deklaration av funktionssprång ,
med
hjälp av enhjälpfunktionsmultipel
:
0
lokal kul multipel ( n : int , d : int ) = ( n mod d = ) i roligt språng ( y : int ) = ( multipel ( y , 4 ) och inte heller multipel ( y , 100 )) eller multipel ( y , 400 ) ) slut
- Watt, David A. (1990) [1990]. "Bindningar". Programmeringsspråkskoncept och paradigmer . Prentice Hall. s. 82–83. ISBN 0-13-728874-3 .