inp_modify_exp(), cleanup #1/17, use tprintf()
inp_modify_exp(), cleanup #2/17, remove redundant assignments
inp_modify_exp(), cleanup #3/17, drop `new_str'
inp_modify_exp(), cleanup #4/17, cleanup for loop
inp_modify_exp(), cleanup #5/17, local scope for variables
inp_modify_exp(), cleanup #6/17, rewrite
inp_modify_exp(), cleanup #7/17, use postincrement
inp_modify_exp(), cleanup #8/17, use an enum for `ustate'
inp_modify_exp(), cleanup #9/17, use `int' for `i'
inp_modify_exp(), cleanup #10/17, use tprintf()
inp_modify_exp(), cleanup #11/17, rename `str_ptr' --> `s'
inp_modify_exp(), cleanup #12/17, rename `actchar' --> `c'
inp_modify_exp(), cleanup #13/17, rename `ustate' --> `state'
inp_modify_exp(), cleanup #14/17, reduce scope of `buf'
inp_modify_exp(), cleanup #15/17, use postincrement
inp_modify_exp(), cleanup #16/17, whitespace
inp_modify_exp(), cleanup #17/17, polish while loop
inp_modify_exp(), remove operator rewrite `**' --> `^'

Thats implemented in the lexer for B expressions,
( `PTlex()' in src/spicelib/parser/inpptree.c )