{{language|ZX Spectrum Basic |exec=interpreted |site=http://www.worldofspectrum.org/ZXBasicManual/}} {{implementation|BASIC}}'''ZX Spectrum Basic''' is the [[BASIC]] built into the ROM of the ZX Spectrum Computer. ==Features== * Language is interpreted (but third party compiler is available). * Line numbers are required * Line numbers must be no longer than four digits * No [[named locations]] * Some [[Terminal Control]] capabilities * Supports [[colour]] * Support for direct display [[graphics]] * Support for sound via the [[speaker]] * No support for [[scope]]d variables * No support for [[structure]]d variables * No [[command line parameter]]s * No support for [[environment]] * Supports output tho the [[line printer]] via the [[lprint]] command * No direct support for error handling, but error handling can be achieved using assembly language by changing the [[error handler]] address * Support for streams when using [[Interface 1]], but no support for [[freefile]] * Can read keystrokes using INKEY$ * No support for multiple line IF conditionals * No conditional compilation directives * no [[hashbang]] mechanism * Variables have to be defined before use * The GO TO command has a space in the middle * VAL function interprets expressions * INPUT function can interpret expressions (unless LINE INPUT is used) {{language programming paradigm|procedural}} {{language programming paradigm|imperative}}