Äëÿ îïèñàíèÿ ñèíòàêñè÷åñêèõ êîíñòðóêöèé ÿçûêà ïðîãðàììèðîâàíèÿ â íàñòîÿùåå âðåìÿ íàèáîëåå ðàñïðîñòðàíåíû äâà ôîðìàëüíûõ ìåòîäà. Ïåðâûé èñïîëüçóåò ôîðìó çàïèñè, ïðåäëîæåííóþ Äæîíîì Áýêóñîì è Ïèòåðîì Íàó-ðîì, êîãäà îíè îïèñûâàëè ñèíòàêñèñ ÿçûêà Àëãîë-60. Ñ òåõ ïîð ýòà ôîðìà íàçûâàåòñÿ Backus Naur Form, èëè ñîêðàùåííî BNF.
Äðóãîé ôîðìàëüíûé ìåòîä, íàãëÿäíî ïðåäñòàâëÿþùèé ñèíòàêñè÷åñêèå êîíñòðóêöèè ÿçûêà â ãðàôè÷åñêîì âèäå, èñïîëüçóåò ñèíòàêñè÷åñêèå äèàãðàììû. Ïîïóëÿðèçèðîâàë ñèíòàêñè÷åñêèå äèàãðàììû ñîçäàòåëü ÿçûêà Pascal H. Âèðò, è ïîýòîìó èõ ÷àñòî íàçûâàþò ñèíòàêñè÷åñêèìè äèàãðàììàìè Âèðòà. Íà ñèíòàêñè÷åñêèõ äèàãðàììàõ èñïîëüçóþòñÿ äâà âèäà ÷åòûðåõóãîëüíèêîâ – ñ ïðÿìûìè è ñêðóãëåííûìè óãëàìè (èíîãäà èõ çàìåíÿþò êðóæêàìè èëè îâàëàìè).  ïðÿìîóãîëüíèêè çàêëþ÷àþòñÿ ýëåìåíòû ÿçûêà, çíà÷åíèå êîòîðûõ äîëæíî áûòü îïðåäåëåíî (òàê íàçûâàåìûå íåòåðìèíàëüíûå ñèìâîëû).  ÷åòûðåõóãîëüíèêàõ ñî ñêðóãëåííûìè óãëàìè (èëè êðóæêàõ, îâàëàõ) ðàçìåùàþòñÿ òàê íàçûâàåìûå òåðìèíàëüíûå (áàçîâûå) ñèìâîëû, èëè èåðîãëèôû ÿçûêà, çíà÷åíèå êîòîðûõ â îïðåäåëåíèè íå íóæäàåòñÿ. Íàïðàâëåíèå äâèæåíèÿ ïî äèàãðàììå ïðè ðàñêðûòèè ñòðóêòóðû ïîíÿòèÿ, çàïèñàííîãî ïðè âõîäå â äèàãðàììó, óêàçûâàþò ñòðåëêè.
×òîáû ïîëó÷èòü ïðàâèëüíûå ãðàììàòè÷åñêèå êîíñòðóêöèè ÿçûêà, èñïîëüçóÿ ñèíòàêñè÷åñêèå äèàãðàììû, íóæíî èäòè ïî ïóòÿì, óêàçàííûì ñòðåëêàìè, îò îäíîãî ÷åòûðåõóãîëüíèêà ê äðóãîìó äî òåõ ïîð, ïîêà íå âñòðåòèòñÿ âûõîä. Òàì, ãäå ïðåäóñìîòðåíî áîëåå îäíîãî íàïðàâëåíèÿ äâèæåíèÿ, ìîæíî âûáèðàòü ëþáîå. Åñëè ïî ïóòè âñòðå÷àåòñÿ ññûëêà ê äðóãîé ñèíòàêñè÷åñêîé äèàãðàììå, òî ñëåäóåò âîéòè â ýòó íîâóþ äèàãðàììó, ïðîéòè ïî íåé, âûéòè èç íåå è âîçâðàòèòüñÿ íà ñòàðîå ìåñòî â ïåðâîíà÷àëüíîé äèàãðàììå. Åñëè ïî ïóòè äâèæåíèÿ âñòðå÷àåòñÿ òî÷êà, òî ýòî îçíà÷àåò, ÷òî äàííûé ïóòü õàðàêòåðåí òîëüêî äëÿ Turbo Pascal è ÿâëÿåòñÿ ðàñøèðåíèåì ñòàíäàðòà ÿçûêà. Âàðèàíòû ïðåäñòàâëåíèÿ ñèíòàêñè÷åñêèõ êîíñòðóêöèé ÿçûêà ïðîãðàììèðîâàíèÿ ìåòîäîì BNF èëè ìåòîäîì ñèíòàêñè÷åñêèõ äèàãðàìì ÿâëÿþòñÿ òîæäåñòâåííûìè.
|