Upload
mate-farkas
View
291
Download
0
Embed Size (px)
Citation preview
Automatikus pontos-vessző beszúrás a
JavaScriptben
Farkas MátéBudapest.js meetup 2010.09.27.
Ha elfelejted kitenni a pontosvesszőt, a JavaScript motorja megteszi helyetted.
Diavetítésnek vége, kattintásra kilép
Mikor kell pontosvessző?• Empty statement: ;;• Variable statement: var x;• Expression statement: f(1);• do-while statement:
do … while (--i);
Mikor kell pontosvessző?• continue, break:
continue [lbl];break [lbl];
• throw, return:throw [error];return [something];
Mikor nem kell?• Block statement:
{ … }• If statement:
if ( true ) …
Mikor nem kell?• Iterációk: while ( true ) …• With: with ( x ) …• Label: outer: …• Függvény létrehozás:
function x() {…}
A szabály (1)• Ha balról jobbra haladva a
kö vet kező token a nyelvtan szerint nem oda való, de ez egy záró }, vagy a jelenle gitől sortörés választja el…
A szabály (2)• vagy ha végére értünk az
elemzendő szövegnek, de ennek ellenére nem elemezhető…
A szabály (3)• vagy ha bár a következő
token a nyelvtan szerint ott lehet, de az előzőtől sortörés választja el a tiltás ellenére*
A szabály• …akkor pontosvessző kerül
a következő token elé illet ve a forrásszöveg végére
• Kivétel: for ciklus feje, és nem jön létre üres utasítás
Nem lehet sortörés (|)• X|++; X|--;• continue | label;• break | label;• return | expression;• throw | expression;
Példák
Példák
{ 12 } 3
Példák
{ 1;2; } 3;
Példák
returna + b
Példák
return;a + b;
Példák
a + b( c + d ) * e
Példák
a + b( c + d ) * e;
Példák
a + b( c + d ) * e;
Példák
if ( true )else x = 13
Példák
if ( true )else x = 13
Köszönöm a figyelmet!
Farkas MátéBudapest.js meetup 2010.09.27.