14. A computer system comprising: one or more processors, one or more computer-readable memories, and one or more computer-readable storage mediums; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to tokenize input source text to form a token stream having a plurality of tokens, wherein each token has a location and wherein the input source text is organized in two or more divisions and includes a plurality of statements in a compiled program language; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to partition the token stream into partitions by division and by statement, wherein partitioning by statement includes storing an entry representing each partition in a partition table and wherein partitioning by statement further includes scanning the token stream in reverse starting at a statement end, wherein the program instructions to partition the token stream into partitions by division and statement include: program instructions, for execution by at least one of the one or more processors, to determine, for each token, if the current token stream location is an explicit statement terminator and, if the current token stream location is an explicit statement terminator, to store the current token stream location as a latest end statement; program instructions, for execution by at least one of the one or more processors, to determine, for each token, if the current token stream location is a period token and, if the current token stream location is a period token, to note the end of a statement; program instructions, for execution by at least one of the one or more processors, to determine, for each token, if the current token stream location is the start of a statement and, if the current token stream location is the start of a statement, to determine if a statement type associated with the statement has a corresponding explicit statement terminator; and program instructions, for execution by at least one of the one or more processors, to use a token stream location associated with a period token as last token in the partition, if the statement type associated with the statement does not have a corresponding explicit statement terminator or if the token stream location stored as the latest end statement has a statement type that is different than the statement type associated with the statement; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to parse two or more of the partitions in parallel with the one or more processors, wherein parsing the partitions in parallel includes building, for each statement partition, an annotated syntax tree (AST) to represent the statement, storing, for each symbol, an entry in a common symbol dictionary, and generating error messages corresponding to syntax errors detected while parsing the partitions; and program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to traverse the common symbol dictionary to detect semantic errors.
14. A computer system comprising: one or more processors, one or more computer-readable memories, and one or more computer-readable storage mediums; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to tokenize input source text to form a token stream having a plurality of tokens, wherein each token has a location and wherein the input source text is organized in two or more divisions and includes a plurality of statements in a compiled program language; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to partition the token stream into partitions by division and by statement, wherein partitioning by statement includes storing an entry representing each partition in a partition table and wherein partitioning by statement further includes scanning the token stream in reverse starting at a statement end, wherein the program instructions to partition the token stream into partitions by division and statement include: program instructions, for execution by at least one of the one or more processors, to determine, for each token, if the current token stream location is an explicit statement terminator and, if the current token stream location is an explicit statement terminator, to store the current token stream location as a latest end statement; program instructions, for execution by at least one of the one or more processors, to determine, for each token, if the current token stream location is a period token and, if the current token stream location is a period token, to note the end of a statement; program instructions, for execution by at least one of the one or more processors, to determine, for each token, if the current token stream location is the start of a statement and, if the current token stream location is the start of a statement, to determine if a statement type associated with the statement has a corresponding explicit statement terminator; and program instructions, for execution by at least one of the one or more processors, to use a token stream location associated with a period token as last token in the partition, if the statement type associated with the statement does not have a corresponding explicit statement terminator or if the token stream location stored as the latest end statement has a statement type that is different than the statement type associated with the statement; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to parse two or more of the partitions in parallel with the one or more processors, wherein parsing the partitions in parallel includes building, for each statement partition, an annotated syntax tree (AST) to represent the statement, storing, for each symbol, an entry in a common symbol dictionary, and generating error messages corresponding to syntax errors detected while parsing the partitions; and program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to traverse the common symbol dictionary to detect semantic errors. 15. The computer system of claim 14 , wherein the computer system further comprises: program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve the partition table and the common symbol dictionary; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to receive changes to the input source text; program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to syntax check the changed input source text, wherein syntax checking includes parsing each partition with changed input source text, wherein parsing includes: building an annotated syntax tree to represent each statement in the partition that has changed; storing, for each new symbol, an entry in the common symbol dictionary; and generating error messages corresponding to syntax errors encountered while parsing partitions with changed input source text; and program instructions, stored on at least one of the one or more storage mediums for execution by at least one of the one or more processors via at least one of the one or more memories, to traverse the new symbols in the common symbol dictionary to detect semantic errors.