CompareSubmissions

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.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
string
required
Query Params
string
Response

Language
Credentials
OAuth2
Missing 1 required scope
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json