Artsmachine.org
facebook linkedin twitter youtube Arts,Design&VirtualWorlds Mazinger Museum
#METAPLASTIC|#ARTS|#DESIGN|#DIGITALCULTURE|#HERITAGE|#TECHNOLOGY|#NEWMEDIA|#NETART|#HUMANITIES|#MECHATRONIC|#CYBERNETICS|#VIRTUALITY|#CYBERWORLDS|#COMPUTERGRAPHICS

XMETAProgrammingLanguage (v1.0)

XMETAPL e' un metalinguaggio generale che tramite la sua semantica AST,permette al suo codice di essere eseguito nel browser e convertibile in altri linguaggi.

Elementi Semantici(AST):


- prog{type:"prog", prog:[ AST..]}Il Programma
- proto{type:"proto", vars:[ NAME..], body: AST }Funzione
- call{type:"call", func:AST,args:[ AST..]}Chiamata
- var{type:var, value: NAME }Variabile
- num{type:"num", value:NUMBER}Tipo Number
- str{type:"str", value:STRING}Tipo stringa
- bool{type:"bool", value:true or false}Tipo Boolean
- if{type:"if", cond:AST, then:AST, else:AST}Condizione IF
- assign{type: "assign", operator:"=", left:AST, right:AST}Assegnamento
- binary{type: "binary", operator:OPERATOR, left:AST, right:AST} + - * / % && || < > <= => == !=

Descrizione dell'AST

(Abstract Semantic Tree)
In Computer Science,un albero di sintassi astratto (AST) e' una rappresentazione ad albero della struttura sintattica astratta del codice sorgente scritto in un linguaggio formale. Sono strutture di dati ampiamente utilizzate nei compilatori per rappresentare la struttura del codice del programma. Spesso funge da rappresentazione intermedia del programma attraverso diverse fasi richieste dal compilatore.

Descrizione di XMETAPL


Il Programma e' una sequenza di istruzioni.Xmpl utilizza espressioni anziche' dichiarazioni.Le espressioni restituiscono un valore e ciascuna puo' essere usata al posto di un'altra espressione. ';' separano le espressioni in una sequenza di istruzioni. '{' creano le sequenze come pure le espressioni '}' Le Funzioni sono introdotte dalla keyword proto. Dopo proto sono possibili una lista di variabili separate da ',' incluse tra '(' e ')' La funzione body e' una singola espressione ma puo' essere anche una sequenza tra '{' e '}' L'ultima espressione valutata in una funzione restituisce il suo valore alla funzione chiamante.Per variabili si usa un proto dichiarando le variabili come argomenti. Le variabili hanno la funzione scope.

Ambiente di Programmazione

FUNZIONI PRIMITIVE
Le funzioni primitive sono un set di funzioni messe a disposizione globalmente per utilita'.
- print() scrive l'output a video
- println() scrive con ritorno a capo








History

- Pubblicazione XMETAPL(10.2.23)

Bibliografia

- Wirth,Niklaus,"Algorithms+data structures=programs",Prentice-Hall,1976,USA
- Bazon,Mihai,https://lisperator.net