2 research outputs found

    An independent axiomatisation for free short-circuit logic

    Get PDF
    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

    No full text
    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
    corecore