  Context-dependent rewrite rules are used in many areas of natural language
and speech processing. Work in computational phonology has demonstrated that,
given certain conditions, such rewrite rules can be represented as finite-state
transducers (FSTs). We describe a new algorithm for compiling rewrite rules
into FSTs. We show the algorithm to be simpler and more efficient than existing
algorithms. Further, many of our applications demand the ability to compile
weighted rules into weighted FSTs, transducers generalized by providing
transitions with weights. We have extended the algorithm to allow for this.
