dc (informatyka)

Ten artykuł dotyczy programu komputerowego. Zobacz też: inne znaczenia.


dc to uniksowe narzędzie do prostych obliczeń używające języka stosowego typu RPN.

Współcześnie nie jest szerzej używane.

Działanie:

  • każda liczba jest odkładana na stos
  • operatory pobierają ze stosu określoną ilość elementów (0 lub więcej), wykonują nad nimi jakąś operację i odkładają określoną (0 lub więcej) ilość wartości na stos, ewentualnie mają jakieś efekty uboczne
  • Wszystko między "[" a "]" (z uwzględnieniem zagnieżdżania), jest traktowane jako tekst i odkładane na stos w całości.

Programy można uruchamiać komendą: dc -e "program".

Przykłady programów:

  • 2 2 2 * + p
    • odkłada na stosie wartość 2 - stos po operacji: 2
    • odkłada na stosie wartość 2 - stos po operacji: 2, 2
    • odkłada na stosie wartość 2 - stos po operacji: 2, 2, 2
    • pobiera dwie wartości w góry stosu i wrzuca na stos wynik ich mnożenia - stos po operacji: 2, 4
    • pobiera dwie wartości w góry stosu i wrzuca na stos wynik ich dodawania - stos po operacji: 6
    • drukuje najwyższą wartość ze stosu, po czym dodaje znak nowej linii - stos po operacji nadal zawiera wartość 6
  • [Hello, world !] p
    • odkłada na stosie tekst "Hello, world!"
    • drukuje ten tekst
  • [[Hello, world !] p] x
    • umieszcza na stosie tekst [Hello, world !] p
    • pobiera najwyższą wartość ze stosu i ją ewaluuje
  • 2 sa 3 sb la la * sa lb lb * sb la lb + p
    • uwaga: ten program jest napisany w wyjątkowo mało efektywny sposób
    • zapisuje wartość 2 na stosie
    • przenosi wartość z góry stosu do rejestru a
    • zapisuje wartość 3 na stosie
    • przenosi wartość z góry stosu do rejestru b
    • kopiuje dwukrotnie wartość z rejestru a na stos
    • zdejmuje i mnoży dwie najwyższe wartości na stosie, wynik umieszczając na stosie
    • umieszcza wynik w rejestrze a
    • to samo robi z b
    • wczytuje wartości rejestrów a i b ze stosu
    • dodaje je
    • drukuje wynik operacji 2*2 + 3*3
  • 2 3 d * r d * + p
    • Program robi to samo co powyżej z wykorzystaniem dwóch nowych operacji:
    • d - umieść wartość z góry stosu jeszcze raz (czyli jeśli stos to zawierał dane 2, 3 to po tej operacji będzie zawierał 2,3,3)
    • r - zamień dwie wartości na górze stosu (czyli jeśli stos zawierał dane 2,9, to po tej operacji będzie zawierał 9,2)

Leaf AFi 10 Bielizna damska Kurs na prawo jazdy Warszawa Elektrownie wiatrowe sielpia domki mieszkania wrocław Pożyczki bielizna apartamenty kraków Blog Fotografia eurodomplus Darmowe FORA phpBB Apartamenty Bułgaria opisy na gg zwiedzanie krakowa kick koparki Bułgaria wczasy Karaoke tani kredyt hipoteczny COOLsurf