2.8.3. ПРИМЕРЫ

Ниже приведены примеры образцов:

t.Head e.Tail

eX (eY)

eA '+' eB

$l eA '+' eB

$r eA '+' eB

Далее приведены примеры сопоставления с образцом:

{} |- A () C D E : $l sX tY tZ e1

=> [ {sX = A, tY = (), tZ = C, e1 = D E} ]

{} |- 1 2 3 : $l eA eB => [

{eA = , eB = 1 2 3},

{eA = 1, eB = 2 3},

{eA = 1 2, eB = 3},

{eA = 1 2 3, eB = } ]

{} |- 1 2 3 : $r eA eB => [

{eA = 1 2 3, eB = },

{eA = 1 2, eB = 3 },

{eA = 1, eB = 2 3 },

{eA = , eB = 1 2 3 } ]

{eA = 1 2} |- $l 1 2 3 4 5 : eA eB

=> [ {eA = 1 2, eB = 3 4 5} ]