Linguaggi basati sullo stack

di il
4 risposte

Linguaggi basati sullo stack

Cosa vuol dire che un linguaggio di programmazione è basato sullo stack? Ad es. Forth, e, in tempi più recenti, Factor.

4 Risposte

  • Re: Linguaggi basati sullo stack

    Non ci sono i registri come quelli delle CPU.

    As esempio, l'espressione: (R=A+B), verrebbe rappresentata come:
    
    read B
    read A
    add
    write R
    
    invece di qualcosa del tipo:
    
    read r1, A
    read r2, B
    add r3,r1,r2
    write R,r3
    
    Si vede che non hai mai avuto una calcolatrice HP (quelle in RPN!!!)

    Ad esempio, il Postscript e' un linguaggio a stack.

    Probabilmente si possono contare sulle dita della mano di un monco il numero di persone che sanno programmare in Postscript, ma, incredibile ma vero, uno puo' realizzare anche normali programmi
  • Re: Linguaggi basati sullo stack

    Hai ragione sulla calcolatrice HP...

    In altre parole si può creare un linguaggio di questo tipo, al giorno d'oggi, o ci vogliono dei particolari processori / strutture di memoria etc. nell' hardware del computer?

    Grazie
  • Re: Linguaggi basati sullo stack

    RAGIONA: che domanda bischera fai

    In quali altri casi trovi la presenza di uno stack??????

    E leggi BENE la mia risposta precedente, perche' HAI GIA' la risposta!
  • Re: Linguaggi basati sullo stack

    agentsmith ha scritto:


    Hai ragione sulla calcolatrice HP...

    In altre parole si può creare un linguaggio di questo tipo, al giorno d'oggi, o ci vogliono dei particolari processori / strutture di memoria etc. nell' hardware del computer?

    Grazie
    Credo che si possa realizzare se non un linguaggio di questo tipo, un'enorme quantità di linguaggi diversi. Se ricordo bene esiste un teorema (Bohem-Jacopini o qualcosa di simile) in virtù del quale è sempre possibile ridursi a una manciata di costrutti che a loro volta sono implementabili sulle macchine di von Neumann che poi sono i nostri PC (credo ci siano altri tipi di macchine astratte e se ricordo bene sono state anche implementate in hardware). Ma dato che parliamo del linguaggio praticamente nativo delle CPU credo proprio che la risposta alla tua domanda sia decisamente affermativa. In fondo stiamo parlando dell'assembler.

    Comunque sono un fan delle HP, le ho sempre avute fin da piccolo e difatti con le altre, quando me le prestano o le devo usare, non riesco a fare niente. I tasti delle parentesi mi mandano in blocco totale
Devi accedere o registrarti per scrivere nel forum
4 risposte