Qualification Principle
   HOME

TheInfoList



OR:

In
programming language theory Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is clos ...
, the qualification principle states that any semantically meaningful syntactic class may admit local definitions. In other words, it's possible to include a ''block'' in any syntactic class, provided that the phrases of that class specify some kind of computation. A common examples for of this principle includes: * block command -- a command containing a local declaration, which is used only for executing this command. In the following excerpt from a C program, tmp variable declared is local to the surrounding block command: if (a > b) * block expression -- an expression containing a local declaration, which is used only for evaluating this expression. In the following excerpt from ML program, local declaration of g can be used only during evaluation of the following expression: let val g = 9.8 in m * g * h end * block declaration is one containing a local declaration, the bindings produced by which are used only for elaborating the block declaration. In the following excerpt from ML program, local declaration of function leap, using an auxiliary function multiple: local fun multiple (n: int, d: int) = (n mod d = 0) in fun leap (y: int) = (multiple (y,4) andalso not multiple (y, 100)) orelse multiple (y,400) end


References

* Articles with example code Programming language theory {{compu-sci-stub