﻿#PL/0-программа#     #блок#  .
#блок#          #сегмент констант#  #сегмент переменных# #сегмент описания процедур# #оператор#

#сегмент констант#  const  #список констант#  ;
!
#список констант#  #имя# = #число#  #продолжение списка констант#
#продолжение списка констант#  ,  #список констант#
!

#сегмент переменных#  var #список имен# ;
!
#список имен#  #имя#   #продолжение списка имен#
#продолжение списка имен#   , #список имен#
!

#сегмент описания процедур#   #список процедур#
!
#список процедур#  procedure #имя# ;  #блок# ; #продолжение списка процедур#
#продолжение списка процедур#  #список процедур#
!

#оператор#   #имя#   := #выражение#
!            call #имя#
!            begin  #оператор# #продолжение списка операторов# end
!            if  #условие#   then   #оператор#
!            while  #условие#   do  #оператор#
#продолжение списка операторов#     ;  #оператор# #продолжение списка операторов#
!

#условие#   odd  #выражение#
!           #выражение#  #операция сравнения#  #выражение#
#операция сравнения#     \!=
!                        <
!                        >
!                        >=
!                        <=
!                        =

#выражение#   #унарная операция#  #слагаемое#  #продолжение выражения#
#продолжение выражения#  #бинарная аддитивная операция#  #слагаемое#
!
#унарная операция#  +
!                   _
!
#бинарная аддитивная операция#  +
!                               -

#слагаемое# #множитель#  #продолжение множителя#
#продолжение множителя#  * #множитель#
!                        / #множитель#
!

#множитель#    #имя#
!              #число#
!              (  #выражение#  )
#имя#          IDN
#число#        DIGIT


