The design of a processor can vary considerably with the type of technology (optical or electronic, analog or digital), the number system, and the coding scheme used for the number representation. Binary number representation is accepted as the best suited for electronic computers. However, the delay due to carry propagation in binary arithmetic makes the binary number representation a very weak candidate for an optical processor that is inherently parallel. The modified signed digit (MSD) number representation satisfies the requirements of totally parallel addition using modular or identical units and allows the addition of any two numbers in three successive steps. In this paper, we show the design of a parallel optical adder based on MSD number representation using the method of symbolic substitution originally proposed by Karl-Heinz Brenner [Appl. Opt. 25(18), 3061-3064 (1986)] and Alan Huang [Proc. IEEE Int. Optical Computing Conf., pp. 13-17 (1983)]. Polarized light is used to code the inputs and outputs. We also discuss the use of this adder along with barrel shifters to efficiently implement multiplication.