Сообщение Re[11]: [Nitra] Парсинг языков базирующихся на отсупах от 02.10.2014 21:17
Изменено 03.10.2014 4:01 VladD2
Здравствуйте, WolfHound, Вы писали:
WH>А так?
WH>
Сдается мне этот NewLine просто лишний. Если будет информация о блоках, то накаких приседаний просто ненужно.
Будет именно что
Парсер сам разрулит неоднозначность на основании этих самых IndentInc/IndentDec. Точнее ее, для парсера, просто не будет. Он увидит IndentInc и пойдев путем блока, а не увидев его пойдет путем выражения.
WH>А так?
WH>
WH>syntax Block
WH>{
WH> | MultyLine = ":" NewLine IndentInc (Indent Statement)+ IndentDec;
WH> | OneLine = ":" OneLineStatement NewLine;
WH>}
WH>
Сдается мне этот NewLine просто лишний. Если будет информация о блоках, то накаких приседаний просто ненужно.
Будет именно что
syntax Block
{
| MultyLine = ":" IndentInc (Indent Statement)+ IndentDec;
| OneLine = ":" OneLineStatement NewLine;
}
Парсер сам разрулит неоднозначность на основании этих самых IndentInc/IndentDec. Точнее ее, для парсера, просто не будет. Он увидит IndentInc и пойдев путем блока, а не увидев его пойдет путем выражения.
Re[11]: [Nitra] Парсинг языков базирующихся на отсупах
Здравствуйте, WolfHound, Вы писали:
WH>А так?
WH>
Сдается мне этот NewLine просто лишний. Если будет информация о блоках, то накаких приседаний просто ненужно.
Будет именно что
Парсер сам разрулит неоднозначность на основании этих самых IndentInc/IndentDec. Точнее ее, для парсера, просто не будет. Он увидит IndentInc и пойдев путем блока, а не увидев его пойдет путем выражения.
WH>А так?
WH>
WH>syntax Block
WH>{
WH> | MultyLine = ":" NewLine IndentInc (Indent Statement)+ IndentDec;
WH> | OneLine = ":" OneLineStatement NewLine;
WH>}
WH>
Сдается мне этот NewLine просто лишний. Если будет информация о блоках, то накаких приседаний просто ненужно.
Будет именно что
syntax Block
{
| MultyLine = ":" IndentInc (Indent Statement)+ IndentDec;
| OneLine = ":" OneLineStatement NewLine;
}
Парсер сам разрулит неоднозначность на основании этих самых IndentInc/IndentDec. Точнее ее, для парсера, просто не будет. Он увидит IndentInc и пойдев путем блока, а не увидев его пойдет путем выражения.