The syntax is slightly different from that accepted by javac, javadoc in src/jdk.compiler/share/classes/com/sun/tools/javac/main/CommandLine.java
The version in the launcher has one notable extension -- long arguments can be wrapped across lines -- that is specifically desirable.
There are also minor differences: javac accepts more obscure escape characters, but with CCC approval we could probably drop support for these characters. (They are probably not documented, but this would be worth checking.)
We should identify the differences and replace the use of StringTokenizer in javac's CommandLine.java with Java code equivalent to the code in the launcher.
Important note: there will remain one significant spec difference, which should not be changed. javac accepts the users default file encoding. The launcher requires the use of ASCII, or an ASCII-compatible encoding like UTF-8. By itself this is not a big deal, but we should be careful not to claim the two systems are exactly equivalent when the work is done.