2 research outputs found
An independent axiomatisation for free short-circuit logic
Short-circuit evaluation denotes the semantics of propositional connectives
in which the second argument is evaluated only if the first argument does not
suffice to determine the value of the expression. Free short-circuit logic is
the equational logic in which compound statements are evaluated from left to
right, while atomic evaluations are not memorised throughout the evaluation,
i.e., evaluations of distinct occurrences of an atom in a compound statement
may yield different truth values. We provide a simple semantics for free SCL
and an independent axiomatisation. Finally, we discuss evaluation strategies,
some other SCLs, and side effects.Comment: 36 pages, 4 tables. Differences with v2: Section 2.1: theorem
Thm.2.1.5 and further are renumbered; corrections: p.23, line -7, p.24, lines
3 and 7. arXiv admin note: substantial text overlap with arXiv:1010.367
A Framework for Modeling the Semantics of Expression Evaluation with Abstract State Machines
State Machines Wolf Zimmermann and Axel Dold Martin-Luther Universitat Halle-Wittenberg, Institut fur Informatik, 06099 Halle/Saale, Germany, [email protected] Universitat Ulm, Abteilung Kunstliche Intelligenz, 89069 Ulm, Germany [email protected] Abstract. We present a framework for formalizing the semantics of expression evaluation using Abstract State Machines. Many programming languages allow some non-determinism for evaluating expressions. The semantics only have in common that arguments are evaluated before an operator is applied. The evaluation of one argument may be interleaved with the evaluation of the other arguments. However, programming languages usually restrict this most liberal evaluation order. For example, the expression evaluation may take into account short-circuit evaluation of boolean expressions which implies that right operands must not be evaluated before the complete left operand is evaluated. Our approach provides a generic expression evaluation semantics that only need to be instantiated adequatly. We demonstrate this approach by the example of Ada95, C, C++, Java, C#, and Fortran