148  Pascal  Report  4.  Symbols and Symbol Separators  Braces  {  and  }  indicate repetition (zero or more occurrences),  brackets  [ and] indicate option<llity (zero or one occurrences), and  parentheses ( and) indicate groUT mg (exactly one occurrence) ofthe  enclosed expression.  Within Section 4, EBNF rub describe the formation of  lexical  symbols  from characters; additiona, characters must not occur within a  symbol. Sections 5 through 13 use EBNF rules to define the syntax of  programs in  terms of symbols;  s vmbols may be  separated by (or  preceded by)  symbol separators  as described in Section 4.  The term  error  describes a Prof ram action or state that violates the  standard.  Any processor may fail  1 ()  detect errors.  Implementation-defined  mean  that a particular Pascal construct  may differ between various impll mentations. Each implementation  must specify how it implements th  It  construct.  Implementation-dependent  me,tI1s that a particular construct varies  between implementations and that  ,Ill  implementation does  not  have to  specify how it implements that  COl struct.  An  extension  is  an  additional  construct  not  available  in  all  implementations  that  does  not  in  itself affect  or  invalidate  the  constructs  of  Standard  Pascal.  Implementations  often  support  extensions  in  the  form  of additional  predefined  and  predeclared  constants, types, variables, procedures and functions.  A program that conforms to the standard must not depend on any  implementation-dependent constructs or on any extensions. A portable  program  must,  in  addition,  h'  very  careful  in  its  use  of  implementation-defined construct.; (c.g.,  character set, or range of  integer values).  A program is represented as a seqUt nce of symbols arranged according  to the rules of Pascal syntax. Adjal cnt symbols often are separated by  symbol separators for purposes of r,.:aclability. Symbols are categorized  as the special symbols, identifier"  directives, numbers, labels, and  character strings. Symbol separat. Irs are spaces, comments, and the  ends of lines of the textual prograI  I  representation. 