They are compiled LUA scripts. The "c" on the end of the extension denotes the compiled nature.
Also, mcs vs. mcc extentions for the macro scripts.
mcs, lua == human readable scripts.
mcc, luac == compiled scripts.
If the script is compiled, then there is a reason for that. A lot of times it is so that users can't change it and cause support issues. And I'm sure there are other reasons that I'm not aware of too.
Steve