Quote: "A. Will my concept of conversion work?"
Successful code conversion is all about matching behaviors/dependencies. Assuming source and target languages have similar functionality, then your conversion tool only needs to skim through the input code and output equivalent code for the target. You can get away with some replacements for the bulk of the work. Depending upon the complexity of the input sources the resulting quality will vary greatly.
In the real world though, even languages might be syntactically similar, they can be very functionality dissimilar. This where you need to fill the gaps and invent solutions to recreate/emulate behaviors in the target where no direct translational exists, which is going to be often. Moreover there's no guarantee they apply the same precedence, which will change the behavior of some expressions.
Example:
The vast majority of BASIC dialects include traditional string functions variations such as Instr$(), Replace$(), Left$(), Mid$(), Right$() etc.. so theoretically we can safely assume these would behave the same between BASIC languages. Unfortunately that's not the always the case, as some implementations have reversed parameters with slightly different behaviors given the same input.
When situations like parameter order occur you rearrange the expression, or simple wrap up a emulation function.
So if the source Instring parameters are Pos=Instring(HeyStack$,Needle$) and the target is Pos=Instr(Needle$,HeyStack$). You could include a function in the outsput that emulate the input codes format/behavior, least then you don't have to man handle the expression.
Function EMULATED_Instring(HayStack$,Needle$)
pos =Instr(Needle$,HeyStack$)
Endfunction Pos
Quote: "
B. Is it ethically wrong in any way? (Don't really think so but just making sure as I was looking for this type of thing and could not find it)
"
No.
Quote: "
C. and if I am successful, will this be something I should sell or give away?
"
It depends on the output quality. It'd be a hard sell if the translation doesn't produced ready to run code in the majority of cases though, which is going to take a heavy amount of work! The last one I wrote, I just gave away, since the scope of the source language is way beyond my interest in it.
Code Conversion Tools (Convert Amos To PlayBASIC)