In computer science, a syntax error is an error in the syntax of a sequence of characters or tokens that is intended to be written in compile-time. A program will not compile until all syntax errors are corrected. For interpreted languages, however, a syntax error may be detected during program execution, and an interpreter's error messages might not differentiate syntax errors from errors of other kinds.
There is some disagreement as to just what errors are "syntax errors". For example, some would say that the use of an uninitialized variable's value in Java code is a syntax error, but many others would disagree and would classify this as a (static) semantic error.
In 8-bit home computers that used BASIC interpreter as their primary user interface, the SYNTAX ERROR error message became somewhat notorious, as this was the response to any command or user input the interpreter could not parse.
A syntax error may also occur when an invalid equation is entered into a calculator. This can be caused, for instance, by opening brackets without closing them, or less commonly, entering several decimal points in one number.
In Java the following is a syntactically correct statement:
while the following is not:
The second example would theoretically print the variable Hello World instead of the words Hello World. However, a variable in Java cannot have a space in between, so the syntactically correct line would be System.out.println(Hello_World).
A compiler will flag a syntax error when given source code that does not meet the requirements of the language grammar.
Type errors (such as an attempt to apply the ++ increment operator to a boolean variable in Java) and undeclared variable errors are sometimes considered to be syntax errors when they are detected at compile-time. However, it is common to classify such errors as (static) semantic errors instead.
Syntax errors on scientific calculators
A syntax error on many scientific calculators can occur in many ways, including:
- Open bracket without closing bracket (unless missing closing bracket is at the very end)
- Trying to use negative number symbol as a minus sign
- Having missing numbers in an equation (e.g. “12*+5”）
They are not to be confused with math errors (like dividing by 0 or the equation resulting in too big of a number). Non scientific calculators only have math errors, and these are just referred to as errors.
- Issue of syntax or semantics?
- Semantic Errors in Java
- Aho, Alfred V.; Monica S. Lam; Ravi Sethi; Jeffrey D. Ullman (2007). Compilers: Principles, Techniques, and Tools (2nd ed.). Addison Wesley. ISBN 0-321-48681-1. Section 4.1.3: Syntax Error Handling, pp.194–195.
- Louden, Kenneth C. (1997). Compiler Construction: Principles and Practice. Brooks/Cole. ISBN 981-243-694-4. Exercise 1.3, pp.27–28.