Well, if basically every line start that your language doesn't recognize is to be kept "literal" and passed through to the output, you may want to not do much in the grammar except for allowing a special virtual token as line placeholder. Then hook into the LALR processor and the tokenizer; when you hit a syntax error and the token is the first non-whitespace on a line, then just read to the end of the line, create a virtual token for that text segment, and resume your processing.
You may need to look into the engine which you're using to see whether it can handle something like that. If you're using .NET, then you could consider using my BSN engine which has all the necessary hooks to make this work.
Good luck, Arsène