/media/sda-magnetic/david/Dokumente-15/fernuni-hagen/cs-i-ii/old-cs-2-03/bash-programming/lex-yacc-bash-etc/all00023.txt


# client
# sender
# recipient
# relay

# smtpd_client_restrictions
# smtpd_sender_restrictions
# smtpd_recipient_restrictions
# smtpd_relay_restrictions
# smtpd_data_restrictions
# smtpd_end_of_data_restrictions
# smtpd_helo_restrictions
# smtpd_etrn_restrictions

mynetworks=
myhostname=
smtpd_helo_required=yes

# permit_mynetworks
# check_policy_service

# unknown
# reject_unknown_client
# reject_unknown_client_hostname 
# reject_unknown_reverse_client_hostname
# reject_unknown_hostname
# reject_unknown_helo_hostname 
# reject_unknown_sender_domain 
# reject_unknown_recipient_domain 

# hostname 
# reject_unknown_client_hostname
# reject_unknown_reverse_client_hostname
# reject_unknown_hostname 
# reject_invalid_hostname
# reject_non_fqdn_hostname 
# reject_unknown_helo_hostname

# non_fqdn 
# reject_non_fqdn_hostname
# reject_non_fqdn_sender
# reject_non_fqdn_recipient

# sender
# reject_non_fqdn_sender
# reject_unknown_sender_domain

# recipient 
# reject_non_fqdn_recipient
# reject_unknown_recipient_domain

# unauth
# reject_unauth_pipelining
# reject_unauth_destination

a CAPABILITY
a LOGIN "user" "password"
a LIST "" *
a SELECT INBOX
a FETCH 1 RFC822
a STORE 1 +FLAGS (\Seen \Deleted)
a CLOSE
a EXPUNGE
a SEARCH 
a LOGOUT 

HELO/EHLO
MAIL
DATA 
RST
VRFY
EXPN
NOOP
QUIT

Return-Path:
Recevied:
From:
To:
Subject:
Date:
Message-ID:
User-Agent:
MIME-Version:
Content-Transfer-Encoding:
Content-Type:
Importance:
Reply-To:
X-Assp-..:
X-Priority:
X-Reply-To:

%{
#include <stdio.h>
#include <ctype.h>
%}
%token NUMBER
%%
lines           :       lines expr '\n'     {printf("%d\n", $2);}
                |       lines '\n'
                ;
expr            :       expr '+' term       {$$=$1+$3;}
                |       expr '-' term       {$$=$1-$3;}
                |       term
                ;
term            :       term '*' factor     {$$=$1*$3;}
                |       term '/' factor     {$$=$1/$3;}
                |       factor
                ;
factor          :       '(' expr ')'        {$$=$2;}
                |       NUMBER
                ;
                
statement       ->      assignment | cond | loop
assignment      ->      id := expr
cond            ->      if boolexpr then statement fi |
                        if boolexpr then statement else statement fi
loop            ->      while boolexpr do statement od
expr            ->      boolexpr | numexpr
boolexpr        ->      numexpr cop numexpr
numexpr         ->      numexpr + term | term
term            ->      term * factor | factor
factor          ->      id | const | (numexpr)

./skript.sh
/bin/bash ./skript.sh
bash skript.sh

#!/bin/bash

echo "Dies ist eine Ausgabe"
# Dies ist ein Kommentar

var1=Hallo
var2=Welt

echo $var1
echo $var2

if [ $var1 == $var2 ]
then
    echo $var1
else
    echo $var2
fi

while [ $var1 == $var2 ]
do
    echo $var1
done

for var3 in "1 " "2 " "3 "
do
    echo $var3
done

typeset -i i=3
i=$(( 4 ))
i=$(( 4+4 ))

while [ $i -le 50 ]
do
    echo $i
    i=$(( $i+1 ))
done

useradd
userdel
usermod
newgrp
groupadd
groupdel
groupmod
passwd
id
chsh
chfn

mv
mmv
mkdir
cd
cp
touch
rm
rmdir
unlink

ln
ls

basename
dirname

lsof
lsblk
blkid

man
info
grep
locate
updatedb

dd
cut
cat
diff
comm

shred
sort
paste
split

mount/umount

exit
echo

.-          a
-...        b
-.-.        c
-..         d
.           e
..-.        f
--.         g
....        h
..          i
.---        j
-.-         k
.-..        l
--          m
-.          n
---         o
.--.        p
.-.         r
...         s
-           t
..-         u
...-        v

Anton
Berta
Caesar
Dora
Emil
Friedrich
Gustav
Heinrich
Ida
Julius
Kaufmann
Ludwig
Marta
November
Oskar
Paule
Quelle
Richard
Samuel
Theodor
Ulrich
Viktor
Wilhelm
Xantippe
Ypsilon
Zacharias

Pipeline
Pipeline-Stufe = Pipeline-Segment
Pipeline-Maschinentakt
Pipeline-Register
Durchsatz einer Pipeline 

Befehl holen
Befehl dekodieren
Operanden bereitstellen
Operationen in der ALU
Resultat zurückschreiben 

IF = Instruction Fetch = Befehlsholephase
ID = Instruction Decode/Register Fetch = Befehlsdekodierphase
EX = Execute/Adress Calculation = Ausführungsphase 
MEM = Memory Access = Speicherzugriffsphase
WB = Write Back = Resultatspeicherphase

1. Datenkonflikte
2. Struktur und Ressourcenkonflikte
3. Steuerflusskonflikte

Datenkonflikte
1. Echte Datenabhängigkeit - Lese-nach-Schreib-Konflikt - Read after Write - RAW
2. Gegenabhängigkeit - Anti Dependence - WAR
3. Ausgabeabhängigkeit - Output Dependence - WAW

Lösungen:
1. Durch den Compiler
2. Erkennnung durch Hardware - Pipeline-Sperrung - Interlocking - Stalling 

BTAC - Branch Target Adress Cache
Branch Adress Cach 
BTB - Branch Target Buffer

1. Predict always not taken 
2. Predict always taken 
3. Predict backward taken, forward not taken

1-Bit-Prädiktor
- T - Taken - Genommen 
- NT - Not Taken - Nicht genommen 

2-Bit-Prädiktor
- Predict strongly taken
- Predict weakly taken 
- Predict weakly not taken 
- Predict strongly not taken 

fopen
flcose
fflush
ferror
perror
strerror
fseek
fsetpos
fgetpos
rewind
remove
rename
mkstmp
tmpfile
printf
scanf
fprintf
fscanf
sprintf
sscanf
getch
getc 
fgetc 
putc 
fputc
ungetc
fgets
gets 
fputs
puts

arsort
asort
sort
rsort
natcasesort
natsort
explode
implode
in_array
key_exists