As far as ml-lex and ml-yacc are concerned, I don't know whether they will work with Poly/ML or not. If they're written entirely in Standard ML they should work fine but if they use some special features of SML/NJ then there may be a problem. Does anyone else know?
A couple of years ago, I ported ml-yacc and ml-lex to MLton. I don't remember anything nonstandard about the sources. However, there was a slight problem in that the code generated by ml-lex contains references to the SML/NJ nonstandard Unsafe structure. Those are easy enough to work around by either changing lexgen.sml so that instead of outputting, e.g. Unsafe.Vector.sub, output Vector.sub, or by creating a version of the Unsafe structure for use with compiling ml-lex output.