It was clarified in comments that expressions are supposed to be read into Mathematica from a text file. To achieve what OP wants one can read the file as list of held expressions, perform appropriate replacements, then release hold.
If we have a test.txt file with following contents:
a * b * c * d
a^dag
We can read it in following way:
ReadList["test.txt", HoldComplete@Expression]
% /. {Times -> KroneckerProduct, x_^dag :> ConjugateTranspose[x]} // ReleaseHold
(* {HoldComplete[a b c d], HoldComplete[a^dag]} *)
(* {KroneckerProduct[a, b, c, d], ConjugateTranspose[a]} *)
If we have more control over format of this text file and can accept non-ASCII characters, then we could use operators without built‐in meaning, as already suggested in comments. With unicode.txt file:
a ⊗ b ⊗ c ⊗ d
a^†
we could do this:
ReadList["unicode.txt", HoldComplete@Expression]
% /. {
CircleTimes -> KroneckerProduct,
x_^\[Dagger] :> ConjugateTranspose[x]
} // ReleaseHold
(* {a ⊗ b ⊗ c ⊗ d, a^†} *)
(* {KroneckerProduct[a, b, c, d], ConjugateTranspose[a]} *)
*? Why not use a different symbol instead? OverloadingTimes[]is usually not the way to go. – J. M.'s missing motivation May 29 '16 at 16:02⊗would be the more traditional symbol for the Kronecker product, then. – J. M.'s missing motivation May 29 '16 at 16:10Unprotect[NonCommutativeMultiply]; NonCommutativeMultiply = KroneckerProduct; Protect[NonCommutativeMultiply];Don't try this at home, kids! – J. M.'s missing motivation May 29 '16 at 16:12a^dagforConjugateTranspose[a]is also possible? – cmc May 29 '16 at 16:21esc ... esc. Some special symbols will not be copied right. – cmc May 29 '16 at 16:29