../icons/Logo.pngPraktische Elektronik


Deutsche Syntaxbeschreibung der logischen Funktionen in EBNF.


Home

Software-Werkzeuge für den Elektroniker

LogicBuddy

Deutsche Syntaxbeschreibung


Deutsche Syntaxbeschreibung

LOGIK                ::= EINGANG ZUWEISUNGEN AUSGANG;

EINGANG              ::= 'Eingang' ( '=' | 'ist' | 'sind' ) LISTE_DER_EINGAENGE '.';

LISTE_DER_EINGAENGE  ::= EINGANGS_NAME { ',' EINGANGS_NAME };

EINGANGS_NAME        ::= [a-uA-U] [a-zA-Z0-9]*;

AUSGANG              ::= 'Ausgang' ( '=' | 'ist' | 'sind' ) LISTE_DER_AUSGAENGE '.';

LISTE_DER_AUSGAENGE  ::= { AUSGANGS_NAME | ',' AUSGANGS_NAME };

AUSGANGS_NAME        ::= [v-zV-Z] [a-zA-Z0-9]*;

ZUWEISUNGEN          ::= ZUWEISUNG { '.' ZUWEISUNG } '.';

ZUWEISUNG            ::= AUSGANGS_NAME ( '=' | 'ist' ) ( BELIEBIG_BEDINGUNG | WERT );

WERT                 ::= AUSDRUCK [ BEDINGUNG ];

BELIEBIG_BEDINGUNG   ::= 'beliebig' BEDINGUNG;

BEDINGUNG            ::= 'wenn' AUSDRUCK;

AUSDRUCK             ::= [ NICHT ] TERM { 'und' [ NICHT ] TERM };

NICHT                ::= ( 'nicht' | '^' );

TERM                 ::= FAKTOR { 'oder' FAKTOR };

FAKTOR               ::= [ NICHT ] ( NAME | '(' AUSDRUCK ')' );

NAME                 ::= AUSGANGS_NAME | EINGANGS_NAME | FUNKTIONS_AUFRUF |
                         'wahr' | 'falsch' | '1' | '0';

FUNKTIONS_AUFRUF     ::= FUNKTIONS_NAME '(' LISTE_DER_AUSDRUECKE ')';

FUNKTIONS_NAME       ::= 'NAND' | 'NOR';

LISTE_DER_AUSDRUECKE ::= AUSDRUCK { ',' AUSDRUCK };