The inherently parallel nature and high speed of optics, combined with the recent technological advancements in optical logic, storage and interconnect devices are raising hopes for practical realization of highly parallel optical computing systems. This research explores the application of optics to symbolic computing using the Content-addressable Memory (CAM) model. It covers algorithm development, architectural design and experimental demonstration. The approach consists of examining the computational requirement of symbolic computing tasks, and implementing them as directly as possible, thereby as efficiently as possible, using the parallelism and high speed of optical systems.