\def\lsttacsubstyle#1{\textcolor{gray}{#1}}
% 3ac
\lstdefinelanguage{lTac}{
sensitive=false, % we are case insensitive
moredelim=**[is][{\xlsthlboxd{\xlstcustom}}]{|custom|}{|custom|},
moredelim=[is][]{|plain|}{|plain|},
moredelim=**[is][\xlstGetStyle{numbers}]{|num|}{|num|},
moredelim=**[is][\xlstGetStyle{literals}]{|str|}{|str|},
moredelim=**[is][\xlstGetStyle{comments}]{|cmt|}{|cmt|},
comment=[l]{//},
morestring = [s]{"}{"}, % maybe use d?
morestring = [s]{'}{'},
morekeywords={goto,if,else,param,call,return},
add to literate={:_0:}{{{\textsubscript{\lsttacsubstyle0}}}}1 {:_1:}{{{\textsubscript{\lsttacsubstyle1}}}}1 {:_2:}{{{\textsubscript{\lsttacsubstyle2}}}}1
    {:_3:}{{{\textsubscript{\lsttacsubstyle3}}}}1 {:_4:}{{{\textsubscript{\lsttacsubstyle4}}}}1 {:_5:}{{{\textsubscript{\lsttacsubstyle5}}}}1
    {:_6:}{{{\textsubscript{\lsttacsubstyle6}}}}1 {:_?:}{{{\textsubscript{\lsttacsubstyle?}}}}1 {:_7:}{{{\textsubscript{\lsttacsubstyle7}}}}1
    {:_8:}{{{\textsubscript{\lsttacsubstyle8}}}}1 {:_9:}{{{\textsubscript{\lsttacsubstyle9}}}}1 {:_!:}{{{\textsubscript{\lsttacsubstyle!}}}}1
    {:__:}{{{\textsubscript{\lsttacsubstyle{\phantom{1}}}}}}1 % padding space
}
\RegisterLanguage{tac}{lTac}
