When Is a Functional Tree Transduction Deterministic? ttelmut Seidl Fachbereich Informatik Universits des Saarlandes D-6600 Saarbriicken Germany Abstract. We give a decision procedure to determine whether or not the transduction of a functional transducer can be realized by a deter- ministic (resp. reduced deterministic) transducer. In case this is possible we exhibit a general construction to build this transducer. 0 Introduction A (finite-state bottom-up) tree transducer is a finite state device. While tra- versing an input tree it produces an output tree in a bottom-up fashion. It is called functional iff there is at most one output tree for every input. In practice, the concept of tree transducers is used, e.g., by tools for gener- ating code selectors from formal descriptions of target machine languages (cf. [4]). Given a (regular) tree grammar which specifies the semantics of machine instructions in terms of operators of the intermediate representation language, a (typically non-deterministic) tree transducer is generated. The accepting com- putations describe all sequences of target machine code possibly generated for a given piece of program. Taking into account that different instructions may have different costs (e.g., need more or less processor cycles) a functional transducer is constructed which produces a cheapest instruction sequence. Our main concern in this paper is the implementation of such functional transducers. Usually, this is done in two passes. The first one traverses the input tree to compute an overview over all possible computations from which the second one constructs an accepting computation and produces the output for it. We would like to avoid this second pass and produce output immediately. This can be done provided the corresponding tree transducer is deterministic. Ilowever, simple examples show that it is not always possible to construct an equivalent deterministic transducer. Therefore, the natural question arises: When can the transduction of a functional transducer be realized by a deterministic one? Also, one would like to produce output only for subcomputations which finally is part of the resulting output. This can be guaranteed provided the tree transducer is reduced deterministic. Again, it is not always possible to con- struct even for a deterministic transducer an equivalent reduced deterministic transducer. Therefore, we also have to deal with the question: When can the