Qu'est-ce qu'un point de séquence?

Un point de séquence dans la programmation informatique est un moment qui se produit lors de l'exécution du programme lorsque la valeur d'une variable a été complètement calculée, sans modification en attente des opérations précédentes et aucun calcul dans une expression future encore effectuée. Il existe un certain nombre d'endroits où des points de séquence existent - principalement définis dans la norme du langage C - comme avant l'exécution du code à l'intérieur d'une fonction, à la fin des expressions de contrôle dans des instructions telles que "pour" et "IF", et à la fin de toute expression complète, comme une ligne simple de code C. Certaines raisons de définir un point de séquence sont d'éviter les situations ambiguës, entraînent un comportement non défini ou pourraient confondre le compilateur et générer du code imprévisible. Dans de nombreux cas, les programmeurs ne s'inquiètent pas explicitement d'un point de séquence, bien que, dans la création d'un compilateur, le concept est très important pour garantir que le code soit correctement.

Un exemple de séquence POINT dans le langage de programmation C se trouve dans l'instruction A = A + B;. Dans cette expression, le point-virgule est le point de séquence; Une fois l'expression terminée, la valeur de A sera évaluée et aucun calcul résiduel ne sera effectué dessus jusqu'au début de l'expression suivante. Le signe égal n'est pas un point de séquence, car la valeur de A pourrait être modifiée par le compilateur dans n'importe quel ordre tout au long de l'expression.

La règle principale d'un point de séquence est qu'aucune variable ne sera accessible plus d'une fois entre les points à des fins autres que de calculer un changement de sa valeur. Une violation de cette règle est mieux exprimée lors de l'attribution d'une valeur à un tableau. S'il y a une variable A et un tableau appelé I, alors grammaticalement en C, il est possible d'écrire l'expression i [a] = a ++. Ici, la variable est accessible plus d'une fois dans un but autre que d'évaluer sa valeur actuelle; à savoir, il est utilisé comme unn Index dans le tableau I. Cela signifie que le compilateur peut incrémenter A avant son utilisation comme index ou après son utilisation, créant un comportement imprévisible sur lequel ne peut pas être invoqué dans le programme.

Un point de séquence peut essentiellement être considéré comme un moyen de s'assurer que les instructions peuvent et seront cohérentes et exécutées par un compilateur. Cela permet également à un compilateur d'utiliser des stratégies d'optimisation, car le comportement défini est prévisible. Dans la norme de langue C, il y a trois principaux instances de points de séquence, à savoir lorsqu'une fonction commence l'exécution, au point d'opérateurs logiques et de virgules, et à la fin d'une expression complète qui se termine par un point-virgule, comme la plupart des instructions C

DANS D'AUTRES LANGUES