Le prototype actuel de WebAssembly already has a syntax qui est également émis par the LLVM backend (les CHECK:
parties de ces tests), utilisés par the WAVM backend. Voir également ilwasm et WABT.
Est-ce la syntaxe textuelle officielle? Non, mais il peut devenir officiel plus tard (mise à jour de mars 2017: cela est susceptible de happen soon).
Le format binaire WebAssembly actuel est un stack machine, ce qui représente un changement significatif par rapport à l'approche AST initiale adoptée par WebAssembly. Les s-expressions ne sont pas intrinsèquement mieux adaptées pour représenter des machines de pile, mais elles sont assez bonnes, simples, et évitent les bikeshed sans fin.
réponse originale:
Il a la propriété importante pour WebAssembly d'être représentée comme s-expressions qui ont par nature un arbre d'expression , qui sont un élément clé the AST's design. Il a également un flux de contrôle structuré (un AST) au lieu de ce que la plupart des IR du compilateur ont (un CFG).
Existe-t-il une autre syntaxe prototype? Oui! The wassembler qui travaille en étroite collaboration avec le V8 prototype a une syntaxe entièrement différente.
Pourquoi une autre syntaxe que s-expressions? Une syntaxe de type C est plus familière à la plupart des développeurs! Ce n'est pas aussi proche de ce que le format binaire contiendrait, mais c'est quand même assez proche et plus agréable à utiliser.
Pourquoi est-ce si compliqué? Il est utile de lire la description text format pour comprendre. Le travail est toujours en cours, et au final, la partie importante de WebAssembly est le format binaire: c'est ce que tous les outils vont échanger, et ce que les navigateurs vont consommer. Pourquoi même travailler sur un format texte, alors? Nous sommes des ingénieurs et il nous est plus facile de consommer du texte. Nous sommes en train de le changer plus tard, l'objectif principal du format texte est la compréhension humaine et nous aurons besoin de plus d'humains pour savoir si le texte que nous avons créé est compréhensible.
Ce n'est pas vraiment un assemblage, c'est un AST sérialisé. Ne ressemblera pas à ça. – harold