CompareSubmissions returns two programs and where they say the same thing: both sources, and the runs their normalised token streams share as line ranges on each side, longest first.
The sources come back with the ranges because the ranges are useless without them, and because line numbers only mean something against the exact text they were measured on. It answers "where do these two match", which is what somebody reading a copying case needs, and it is computed on request rather than stored: a match follows from two sources which never change. The comparison is lexical rather than textual — identifiers and literals have already collapsed by the time it runs, so a passage that was renamed and reformatted still lines up, which a line diff cannot do.
The sources are returned whatever the languages are; matches are not, for submissions in different language families or in a language with no tokeniser spec, since neither can be compared at all.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
