We study supervisory control of discrete event systems with potentially infinite state-space using state variables for representation and specification. An assignment program model consisting of state variables and a finite set of conditional assignment statements is used for representing a discrete event system, and a predicate over state variables is used for representing a state avoidance control specification. The contribution of this paper is to show how to perform supervisory control computations symbolically. In the case of a Petri net (vector addition system) with the set of forbidden states being a right-closed set, we present a finitely terminating algorithm for maximally permissive supervision. Discrete-event systems are systems with discrete states that evolve in response to discrete events. The state space of such systems can be finite or infinite. The latter case occurs when the state-variables can take infinitely many values such as integers. Certain states in a given system may be "bad", such as a deadlocking state. Then, controllers must be designed to restrict the system behavior by dynamically disabling events occurring in the system so that system never reaches the bad states. Also, certain events can be uncontrollable and cannot be disabled. State-avoidance control of potentially infinite-state discrete-event systems is studied in this paper. A compact program-like modeling formalism has been adopted. Although the control problem for infinite-state systems is in general not solvable in an automated fashion owing to its undecidability established We develop a symbolic technique, that is iterative in nature and can be automated, for computing a control strategy. If the iteration terminates (there is no guarantee though), a controller is computed. We illustrate through several examples where the iterative computation does terminate. Finally, we show that for a certain class of infinite-state systems that can be modeled as Petri nets, the iterative computation is guaranteed to terminate whenever the state-avoidance set is lower-bounded (every state that "dominates" a bad state is itself bad).