../icons/Logo.pngPraktische Elektronik


Vollständige Syntaxbeschreibung der logischen Funktionen.


Home

Software-Werkzeuge für den Elektroniker

LogicBuddy

Vollständige Syntaxbeschreibung


Vollständige Syntaxbeschreibung

LOGIC               ::= INPUT ASSIGNMENTS OUTPUT;

INPUT               ::= ( 'Input' | 'Eingang' ) ( '=' | 'is' | 'are' | 'ist' | 'sind' ) LIST_OF_INPUTS '.';

LIST_OF_INPUTS      ::= INPUT_NAME { ',' INPUT_NAME };

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

OUTPUT              ::= ( 'Output' | 'Ausgang' ) ( '=' | 'is' | 'are' | 'ist' | 'sind' ) LIST_OF_OUTPUTS '.';

LIST_OF_OUTPUTS     ::= { OUTPUT_NAME | ',' OUTPUT_NAME };

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

ASSIGNMENTS         ::= ASSIGNMENT { '.' ASSIGNMENT } '.';

ASSIGNMENT          ::= OUTPUT_NAME ( '=' | 'is' | 'ist' ) ( ANY_CONDITION | VALUE );

VALUE               ::= EXPRESSION [ CONDITION ];

ANY_CONDITION       ::= ( 'any' | 'beliebig' ) CONDITION;

CONDITION           ::= ( 'when' | 'wenn' ) EXPRESSION;

EXPRESSION          ::= [ NOT ] TERM { ( 'and' | 'und' ) [ NOT ] TERM };

NOT                 ::= ( 'not' | 'nicht' | '^' ) ;

TERM                ::= FACTOR { ( 'or' | 'oder' ) FACTOR };

FACTOR              ::= [ NOT ] ( NAME | '(' EXPRESSION ')' );

NAME                ::= OUTPUT_NAME | INPUT_NAME | FUNCTION_CALL |
                        'true' | 'false' | 'wahr' | 'falsch' | '1' | '0';

FUNCTION_CALL       ::= FUNCTION_NAME '(' LIST_OF_EXPRESSIONS ')';

FUNCTION_NAME       ::= 'NAND' | 'NOR' ;

LIST_OF_EXPRESSIONS ::= EXPRESSION { ',' EXPRESSION };