Parse a
(parse-public/private/constants/constant/const token input) → (mv tree next-token rest-input)
Note that
Function:
(defun parse-public/private/constants/constant/const (token input) (declare (xargs :guard (and (abnf::tree-optionp token) (abnf::tree-listp input)))) (let ((__function__ 'parse-public/private/constants/constant/const)) (declare (ignorable __function__)) (cond ((token-stringp "private" token) (b* (((pok tree) (parse-identifier token input)) (tree (abnf::make-tree-nonleaf :rulename? nil :branches (list (list tree))))) (mv tree token input))) ((token-stringp "public" token) (b* (((pok tree) (parse-keyword "public" token input)) (tree (abnf::make-tree-nonleaf :rulename? nil :branches (list (list tree))))) (mv tree token input))) ((token-stringp "constants" token) (b* (((pok tree) (parse-identifier token input)) (tree (abnf::make-tree-nonleaf :rulename? nil :branches (list (list tree))))) (mv tree token input))) ((token-stringp "constant" token) (b* (((pok tree) (parse-keyword "constant" token input)) (tree (abnf::make-tree-nonleaf :rulename? nil :branches (list (list tree))))) (mv tree token input))) ((token-stringp "const" token) (b* (((pok tree) (parse-keyword "const" token input)) (tree (abnf::make-tree-nonleaf :rulename? nil :branches (list (list tree))))) (mv tree token input))) (t (mv (reserrf (list :found (abnf::tree-option-fix token))) (abnf::tree-option-fix token) (abnf::tree-list-fix input))))))
Theorem:
(defthm tree-resultp-of-parse-public/private/constants/constant/const.tree (b* (((mv ?tree ?next-token ?rest-input) (parse-public/private/constants/constant/const token input))) (abnf::tree-resultp tree)) :rule-classes :rewrite)
Theorem:
(defthm tree-optionp-of-parse-public/private/constants/constant/const.next-token (b* (((mv ?tree ?next-token ?rest-input) (parse-public/private/constants/constant/const token input))) (abnf::tree-optionp next-token)) :rule-classes :rewrite)
Theorem:
(defthm tree-listp-of-parse-public/private/constants/constant/const.rest-input (b* (((mv ?tree ?next-token ?rest-input) (parse-public/private/constants/constant/const token input))) (abnf::tree-listp rest-input)) :rule-classes :rewrite)
Theorem:
(defthm parsize-of-parse-public/private/constants/constant/const-<= (b* (((mv ?tree ?next-token ?rest-input) (parse-public/private/constants/constant/const token input))) (<= (parsize next-token rest-input) (parsize token input))) :rule-classes :linear)
Theorem:
(defthm parsize-of-parse-public/private/constants/constant/const-< (b* (((mv ?tree ?next-token ?rest-input) (parse-public/private/constants/constant/const token input))) (implies (not (reserrp tree)) (< (parsize next-token rest-input) (parsize token input)))) :rule-classes :linear)
Theorem:
(defthm parse-public/private/constants/constant/const-of-tree-option-fix-token (equal (parse-public/private/constants/constant/const (abnf::tree-option-fix token) input) (parse-public/private/constants/constant/const token input)))
Theorem:
(defthm parse-public/private/constants/constant/const-tree-option-equiv-congruence-on-token (implies (abnf::tree-option-equiv token token-equiv) (equal (parse-public/private/constants/constant/const token input) (parse-public/private/constants/constant/const token-equiv input))) :rule-classes :congruence)
Theorem:
(defthm parse-public/private/constants/constant/const-of-tree-list-fix-input (equal (parse-public/private/constants/constant/const token (abnf::tree-list-fix input)) (parse-public/private/constants/constant/const token input)))
Theorem:
(defthm parse-public/private/constants/constant/const-tree-list-equiv-congruence-on-input (implies (abnf::tree-list-equiv input input-equiv) (equal (parse-public/private/constants/constant/const token input) (parse-public/private/constants/constant/const token input-equiv))) :rule-classes :congruence)