Bezkonteksta gramatiku paplašinātā sintakse

Last modified by superadmin on 2018-01-12 20:40

Bezkonteksta gramatiku paplašinātā sintakse

Javas specifikācijā izmanto bezkontekstu valodu apraksta dialektu, kurš atgādina EBNF (extended Backus-Naur forms). Simbols "?" aiz netermināļa nozīmē, ka attiecīgā daļa var būt un var arī nebūt. Piemēram šāds pieraksts:

ForStatement:
    for ( ForInit? ; Expression? ; ForUpdate? ) Statement

ir saīsināts apzīmējums visām 8 iespējām, kā pieraksta "for" ciklu:

ForStatement:
    for ( ; ; ) Statement
    for ( ; ; ForUpdate ) Statement
    for ( ; Expression ; ) Statement
    for ( ; Expression ; ForUpdate ) Statement
    for ( ForInit ; ; ) Statement
    for ( ForInit ; ; ForUpdate ) Statement
    for ( ForInit ; Expression ; ) Statement
    for ( ForInit ; Expression ; ForUpdate ) Statement

Katrai no šīm iespējām ir sava semantika, jeb nozīme. Teiksim, rinda "for (;;) Statement" apzīmē mūžīgo ciklu.

Tags:
Created by Kalvis Apsītis on 2008-05-01 23:48
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation