We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
User:Ben Russell/thue/hq9p.t
Jump to navigation
Jump to search
Here's an HQ9+ interpreter, written in Thue. Note a few things:
- Inputted program MUST ONLY consist of 'H', 'Q', '9', and '+', and they MUST be in capitals. If you look in the code, you'll see why.
- 99 bottles of beer is not generated dynamically. It's just uncompressed from its packed state.
Have fun!
P.S. If you have the Thue interpreter from Cat's Eye Technologies, use the Python version instead of the C version. The C version has a tendency to cock up the strings. Only use the C version when the Python version cocks up.
This code is public domain, though if you could attribute my name to it, that'll be great.
[STDIN]::=::: `A::=~ bottle `E::=~s `B::=~ of beer `C::=~ on the wall `F::=~No more `,::=~, `.::=~. `D::=~Take one down, pass it around, `\::=~ `0::=~0 `1::=~1 `2::=~2 `3::=~3 `4::=~4 `5::=~5 `6::=~6 `7::=~7 `8::=~8 `9::=~9 _$::=` !0::=$0$ !1::=$1$ !2::=$2$ !3::=$3$ !4::=$4$ !5::=$5$ !6::=$6$ !7::=$7$ !8::=$8$ !9::=$9$ `H::=~Hello World! `pH::=~H `pQ::=~Q `p9::=~9 `p+::=~+ [BOTTLES]::=!99$A$E$B$C$,$\!99$A$E$B$,$\$D$\!98$A$E$B$C$.$\$\!98$A$E$B$C$,$\!98$A$E$B$,$\$D$\!97$A$E$B$C$.$\$\!97$A$E$B$C$,$\!97$A$E$B$,$\$D$\!96$A$E$B$C$.$\$\!96$A$E$B$C$,$\!96$A$E$B$,$\$D$\!95$A$E$B$C$.$\$\!95$A$E$B$C$,$\!95$A$E$B$,$\$D$\!94$A$E$B$C$.$\$\!94$A$E$B$C$,$\!94$A$E$B$,$\$D$\!93$A$E$B$C$.$\$\!93$A$E$B$C$,$\!93$A$E$B$,$\$D$\!92$A$E$B$C$.$\$\!92$A$E$B$C$,$\!92$A$E$B$,$\$D$\!91$A$E$B$C$.$\$\!91$A$E$B$C$,$\!91$A$E$B$,$\$D$\!90$A$E$B$C$.$\$\!90$A$E$B$C$,$\!90$A$E$B$,$\$D$\!89$A$E$B$C$.$\$\!89$A$E$B$C$,$\!89$A$E$B$,$\$D$\!88$A$E$B$C$.$\$\!88$A$E$B$C$,$\!88$A$E$B$,$\$D$\!87$A$E$B$C$.$\$\!87$A$E$B$C$,$\!87$A$E$B$,$\$D$\!86$A$E$B$C$.$\$\!86$A$E$B$C$,$\!86$A$E$B$,$\$D$\!85$A$E$B$C$.$\$\!85$A$E$B$C$,$\!85$A$E$B$,$\$D$\!84$A$E$B$C$.$\$\!84$A$E$B$C$,$\!84$A$E$B$,$\$D$\!83$A$E$B$C$.$\$\!83$A$E$B$C$,$\!83$A$E$B$,$\$D$\!82$A$E$B$C$.$\$\!82$A$E$B$C$,$\!82$A$E$B$,$\$D$\!81$A$E$B$C$.$\$\!81$A$E$B$C$,$\!81$A$E$B$,$\$D$\!80$A$E$B$C$.$\$\!80$A$E$B$C$,$\!80$A$E$B$,$\$D$\!79$A$E$B$C$.$\$\!79$A$E$B$C$,$\!79$A$E$B$,$\$D$\!78$A$E$B$C$.$\$\!78$A$E$B$C$,$\!78$A$E$B$,$\$D$\!77$A$E$B$C$.$\$\!77$A$E$B$C$,$\!77$A$E$B$,$\$D$\!76$A$E$B$C$.$\$\!76$A$E$B$C$,$\!76$A$E$B$,$\$D$\!75$A$E$B$C$.$\$\!75$A$E$B$C$,$\!75$A$E$B$,$\$D$\!74$A$E$B$C$.$\$\!74$A$E$B$C$,$\!74$A$E$B$,$\$D$\!73$A$E$B$C$.$\$\!73$A$E$B$C$,$\!73$A$E$B$,$\$D$\!72$A$E$B$C$.$\$\!72$A$E$B$C$,$\!72$A$E$B$,$\$D$\!71$A$E$B$C$.$\$\!71$A$E$B$C$,$\!71$A$E$B$,$\$D$\!70$A$E$B$C$.$\$\!70$A$E$B$C$,$\!70$A$E$B$,$\$D$\!69$A$E$B$C$.$\$\!69$A$E$B$C$,$\!69$A$E$B$,$\$D$\!68$A$E$B$C$.$\$\!68$A$E$B$C$,$\!68$A$E$B$,$\$D$\!67$A$E$B$C$.$\$\!67$A$E$B$C$,$\!67$A$E$B$,$\$D$\!66$A$E$B$C$.$\$\!66$A$E$B$C$,$\!66$A$E$B$,$\$D$\!65$A$E$B$C$.$\$\!65$A$E$B$C$,$\!65$A$E$B$,$\$D$\!64$A$E$B$C$.$\$\!64$A$E$B$C$,$\!64$A$E$B$,$\$D$\!63$A$E$B$C$.$\$\!63$A$E$B$C$,$\!63$A$E$B$,$\$D$\!62$A$E$B$C$.$\$\!62$A$E$B$C$,$\!62$A$E$B$,$\$D$\!61$A$E$B$C$.$\$\!61$A$E$B$C$,$\!61$A$E$B$,$\$D$\!60$A$E$B$C$.$\$\!60$A$E$B$C$,$\!60$A$E$B$,$\$D$\!59$A$E$B$C$.$\$\!59$A$E$B$C$,$\!59$A$E$B$,$\$D$\!58$A$E$B$C$.$\$\!58$A$E$B$C$,$\!58$A$E$B$,$\$D$\!57$A$E$B$C$.$\$\!57$A$E$B$C$,$\!57$A$E$B$,$\$D$\!56$A$E$B$C$.$\$\!56$A$E$B$C$,$\!56$A$E$B$,$\$D$\!55$A$E$B$C$.$\$\!55$A$E$B$C$,$\!55$A$E$B$,$\$D$\!54$A$E$B$C$.$\$\!54$A$E$B$C$,$\!54$A$E$B$,$\$D$\!53$A$E$B$C$.$\$\!53$A$E$B$C$,$\!53$A$E$B$,$\$D$\!52$A$E$B$C$.$\$\!52$A$E$B$C$,$\!52$A$E$B$,$\$D$\!51$A$E$B$C$.$\$\!51$A$E$B$C$,$\!51$A$E$B$,$\$D$\!50$A$E$B$C$.$\$\!50$A$E$B$C$,$\!50$A$E$B$,$\$D$\!49$A$E$B$C$.$\$\!49$A$E$B$C$,$\!49$A$E$B$,$\$D$\!48$A$E$B$C$.$\$\!48$A$E$B$C$,$\!48$A$E$B$,$\$D$\!47$A$E$B$C$.$\$\!47$A$E$B$C$,$\!47$A$E$B$,$\$D$\!46$A$E$B$C$.$\$\!46$A$E$B$C$,$\!46$A$E$B$,$\$D$\!45$A$E$B$C$.$\$\!45$A$E$B$C$,$\!45$A$E$B$,$\$D$\!44$A$E$B$C$.$\$\!44$A$E$B$C$,$\!44$A$E$B$,$\$D$\!43$A$E$B$C$.$\$\!43$A$E$B$C$,$\!43$A$E$B$,$\$D$\!42$A$E$B$C$.$\$\!42$A$E$B$C$,$\!42$A$E$B$,$\$D$\!41$A$E$B$C$.$\$\!41$A$E$B$C$,$\!41$A$E$B$,$\$D$\!40$A$E$B$C$.$\$\!40$A$E$B$C$,$\!40$A$E$B$,$\$D$\!39$A$E$B$C$.$\$\!39$A$E$B$C$,$\!39$A$E$B$,$\$D$\!38$A$E$B$C$.$\$\!38$A$E$B$C$,$\!38$A$E$B$,$\$D$\!37$A$E$B$C$.$\$\!37$A$E$B$C$,$\!37$A$E$B$,$\$D$\!36$A$E$B$C$.$\$\!36$A$E$B$C$,$\!36$A$E$B$,$\$D$\!35$A$E$B$C$.$\$\!35$A$E$B$C$,$\!35$A$E$B$,$\$D$\!34$A$E$B$C$.$\$\!34$A$E$B$C$,$\!34$A$E$B$,$\$D$\!33$A$E$B$C$.$\$\!33$A$E$B$C$,$\!33$A$E$B$,$\$D$\!32$A$E$B$C$.$\$\!32$A$E$B$C$,$\!32$A$E$B$,$\$D$\!31$A$E$B$C$.$\$\!31$A$E$B$C$,$\!31$A$E$B$,$\$D$\!30$A$E$B$C$.$\$\!30$A$E$B$C$,$\!30$A$E$B$,$\$D$\!29$A$E$B$C$.$\$\!29$A$E$B$C$,$\!29$A$E$B$,$\$D$\!28$A$E$B$C$.$\$\!28$A$E$B$C$,$\!28$A$E$B$,$\$D$\!27$A$E$B$C$.$\$\!27$A$E$B$C$,$\!27$A$E$B$,$\$D$\!26$A$E$B$C$.$\$\!26$A$E$B$C$,$\!26$A$E$B$,$\$D$\!25$A$E$B$C$.$\$\!25$A$E$B$C$,$\!25$A$E$B$,$\$D$\!24$A$E$B$C$.$\$\!24$A$E$B$C$,$\!24$A$E$B$,$\$D$\!23$A$E$B$C$.$\$\!23$A$E$B$C$,$\!23$A$E$B$,$\$D$\!22$A$E$B$C$.$\$\!22$A$E$B$C$,$\!22$A$E$B$,$\$D$\!21$A$E$B$C$.$\$\!21$A$E$B$C$,$\!21$A$E$B$,$\$D$\!20$A$E$B$C$.$\$\!20$A$E$B$C$,$\!20$A$E$B$,$\$D$\!19$A$E$B$C$.$\$\!19$A$E$B$C$,$\!19$A$E$B$,$\$D$\!18$A$E$B$C$.$\$\!18$A$E$B$C$,$\!18$A$E$B$,$\$D$\!17$A$E$B$C$.$\$\!17$A$E$B$C$,$\!17$A$E$B$,$\$D$\!16$A$E$B$C$.$\$\!16$A$E$B$C$,$\!16$A$E$B$,$\$D$\!15$A$E$B$C$.$\$\!15$A$E$B$C$,$\!15$A$E$B$,$\$D$\!14$A$E$B$C$.$\$\!14$A$E$B$C$,$\!14$A$E$B$,$\$D$\!13$A$E$B$C$.$\$\!13$A$E$B$C$,$\!13$A$E$B$,$\$D$\!12$A$E$B$C$.$\$\!12$A$E$B$C$,$\!12$A$E$B$,$\$D$\!11$A$E$B$C$.$\$\!11$A$E$B$C$,$\!11$A$E$B$,$\$D$\!10$A$E$B$C$.$\$\!10$A$E$B$C$,$\!10$A$E$B$,$\$D$\$9$A$E$B$C$.$\$\$9$A$E$B$C$,$\$9$A$E$B$,$\$D$\$8$A$E$B$C$.$\$\$8$A$E$B$C$,$\$8$A$E$B$,$\$D$\$7$A$E$B$C$.$\$\$7$A$E$B$C$,$\$7$A$E$B$,$\$D$\$6$A$E$B$C$.$\$\$6$A$E$B$C$,$\$6$A$E$B$,$\$D$\$5$A$E$B$C$.$\$\$5$A$E$B$C$,$\$5$A$E$B$,$\$D$\$4$A$E$B$C$.$\$\$4$A$E$B$C$,$\$4$A$E$B$,$\$D$\$3$A$E$B$C$.$\$\$3$A$E$B$C$,$\$3$A$E$B$,$\$D$\$2$A$E$B$C$.$\$\$2$A$E$B$C$,$\$2$A$E$B$,$\$D$\$1$A$B$C$.$\$\$1$A$B$C$,$\$1$A$B$,$\$D$\$F$A$E$B$C$.$\$\ [HELLO]::=__$H$\ *$::=*_$ *DUP::=*eDUP>DUP *H::=*[HELLO] *Q::=<Q*eQ *9::=*[BOTTLES] *+::=* H<Q::=<QH Q<Q::=<QQ 9<Q::=<Q9 +<Q::=<Q+ _<Q::=_>Q >QH::=H>Q`pH >QQ::=Q>Q`pQ >Q9::=9>Q`p9 >Q+::=+>Q`p+ >Q*eQ::=*`\ >DUPH::=hH>DUP >DUPQ::=qQ>DUP >DUP9::=n9>DUP >DUP+::=p+>DUP >DUP_::=<DUP_ H<DUP::=<DUPH Q<DUP::=<DUPQ 9<DUP::=<DUP9 +<DUP::=<DUP+ _<DUP::=_<DUP *eDUP<DUP::=* Hh::=hH Qh::=hQ 9h::=h9 +h::=h+ _h::=h_ *eDUPh::=H*eDUP Hq::=qH Qq::=qQ 9q::=q9 +q::=q+ _q::=q_ *eDUPq::=Q*eDUP Hn::=nH Qn::=nQ 9n::=n9 +n::=n+ _n::=n_ *eDUPn::=9*eDUP Hp::=pH Qp::=pQ 9p::=p9 +p::=p+ _p::=p_ *eDUPp::=+*eDUP ::= _*DUP[STDIN]__