This article is about computer language theory. For the ancient Germanic tribe, see Burs (Dacia)
BURS (bottom-up rewrite system) theory tackles the problem of taking a complex expression tree or intermediate language term and finding a good translation to machine code for a particular architecture. Implementations of BURS often employ dynamic programming to solve this problem.
BURS can also be applied to the problem of designing an instruction set for an application-specific instruction-set processor. 
- A. V. Aho, M. Ganapathi, and S. W. K. Tjiang. Code generation using tree matching and dynamic programming. ACM Transactions on Programming Languages and Systems, 11(4):491-516, October 1989.
- Robert Giegerich and Susan L. Graham, editors. Code Generation - Concepts, Tools, Techniques. Workshops in Computing. Springer-Verlag, Berlin, Heidelberg, New York, 1992.
- ^ "BURS-Based Instruction Set Selection" by Dmitri Boulytchev