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 en hjä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 .