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ı function
bu koddaki anahtar kelimeyi gördüğünde : function xyz(a, b) {}
function anahtar sözcüğü belirsizdir. Önce bir sonraki belirteci işlemeli xyz
ve 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.