Sadece WebAssembly için Wikipedia sayfasını okuyordum ve şöyle diyor: “ WebAssembly… JavaScript'ten ayrıştırmak için daha hızlı olacak şekilde tasarlandı ”. Kullanılmış?
Sadece WebAssembly için Wikipedia sayfasını okuyordum ve şöyle diyor: “ WebAssembly… JavaScript'ten ayrıştırmak için daha hızlı olacak şekilde tasarlandı ”. Kullanılmış?
Yanıtlar:
Bu konu çok karmaşık. Ayrıştırıcı algoritmaları için Google'ı kullanabilirsiniz ve bol miktarda ayrıntılı malzeme elde edersiniz.
Genel olarak:
Örneğin:
Bir JS ayrıştırıcısı functionbu koddaki anahtar kelimeyi gördüğünde : function xyz(a, b) {}function anahtar sözcüğü belirsizdir. Önce bir sonraki belirteci işlemeli xyzve bir işlev bildirimi olduğuna karar vermeden önce bir tanımlayıcı olduğunu görmelidir.
Ancak, eğer bir sonraki jeton vardı (biz bir işlev sabitin ilgileniyor: function(a, b) {}. Bu, ayrıştırıcının çok farklı davranmasını gerektirir, böylece ayrıştırıcıda daha fazla kod, böylece daha yavaş yürütme.
Bu iki amaç için farklı anahtar kelimeler olsaydı, belirsizlik olmazdı:
function_decl xyz(a, b, c) {} ve function_lit(a, b, c) {}
Ancak kimse böyle bir dilde yazmak istemez. Ancak WebAssembly'nin elle yazılması gerekmez. Bu, dilin insanlardan ziyade makinelere göre uyarlanmasını sağlar.