Debugging aide: get the current path indicated by a scopestack.
This vaguely corresponds to Verilog syntax, but is generally only useful or meant for debugging purposes.
(defun vl-scopestack->path (x) (declare (xargs :guard (vl-scopestack-p x))) (let ((__function__ 'vl-scopestack->path)) (declare (ignorable __function__)) (b* ((rchars (vl-scopestack->path-aux x nil))) (str::rchars-to-string rchars))))
(defthm stringp-of-vl-scopestack->path (b* ((path (vl-scopestack->path x))) (stringp path)) :rule-classes :type-prescription)
(defthm vl-scopestack->path-of-vl-scopestack-fix-x (equal (vl-scopestack->path (vl-scopestack-fix x)) (vl-scopestack->path x)))
(defthm vl-scopestack->path-vl-scopestack-equiv-congruence-on-x (implies (vl-scopestack-equiv x x-equiv) (equal (vl-scopestack->path x) (vl-scopestack->path x-equiv))) :rule-classes :congruence)