Css 2 1: N Kielioppi

CSS 2: n kielioppi.1

Ratings and Reviews of Online Casinos

 


1. Sol Casino

Sol casino keyword

Free Sign-Up Bonus: 90 Free Spins ( Free Sign-Up Bonus Link )

 

First Deposit Bonus: 150% up to €/$ 300 ( Registration Link )

 

OPEN SOL CASINO

 


 

2. Fresh Casino

fresh casino

Free Sign-Up Bonus: 70 Free Spins ( Free Sign-Up Bonus Link )

 

First Deposit Bonus: 200% up to €/$ 200 ( Registration Link )

 

OPEN FRESH CASINO

 


 

 

3. Jet Casino

jet casino

Free Sign-Up Bonus: 70 Free Spins ( Free Sign-Up Bonus Link )

 

First Deposit Bonus: 100% up to €/$ 300 ( Registration Link )

 

OPEN JET CASINO

 


 

 

 

CSS 2: n kielioppi.1

Liite g. CSS2: n kielioppi.1

Sisällys

Tämä liite ei ole normatiivinen.

Alla oleva kielioppi määrittelee CSS 2: n syntaksin.1. Se on tietyssä mielessä kuitenkin CSS 2: n superset.1 Koska tämä eritelmä asettaa lisää semanttisia rajoituksia, joita ei ilmaista tässä kielioppissa. Myös mukautuvan UA: n on noudatettava
eteenpäin yhteensopivat jäsentämissäännöt
, valittajien merkinnät, Ominaisuus- ja arvomerkinnät, ja yksikkömerkinnät. Kaikki syntaktisesti oikea CSS ei kuitenkaan voi tulla voimaan, koska asiakirjan kieli voi asettaa rajoituksia, jotka eivät ole CS: ssä, e.g., HTML asettaa rajoituksia “luokan” määritteen mahdollisille arvoille.

Alla oleva kielioppi on LALR (1) (mutta huomaa, että useimpien UA: ien ei pitäisi käyttää sitä suoraan, koska se ei ilmaise sitä jäsennelty yleissopimukset, Vain CSS 2.1 syntaksi). Tuotantojen muoto on optimoitu ihmisravinnoksi ja jonkin verran lyhyen merkintää YACC: n ulkopuolella (katso [YACC]) käytetään:

  • *: 0 tai enemmän
  • +: 1 tai enemmän
  • ?: 0 tai 1
  • Ja: erottaa vaihtoehdot
  • []: ryhmittely

Tuotannot ovat:

tyylitaulukko: [charset_sym merkkijono ‘;’ -? [S | CDO | CDC]* [Tuo [CDO S* | CDC S*]*]* [[RESOURET | Media | Sivu] [CDO S* | Cdc s*]*]*; tuonti: tuonti_sym s* [merkkijono | uri] s* media_list? ‘;’; ‘ S*; Media: Media_sym S* Media_List ” S* sääntöset* ” s*; Media_list: Medium [pilkku s* media]*; väliaine: ident s*; Sivu: Page_sym S* pseudo_page? ” S* julistus? [‘;’; ‘ S* julistus? ]* ” S*; pseudo_page: ‘:’ ident s*; Operaattori: ‘/’ S* | ‘,’ S*; Yhdistelmä: ‘+’ s* | ‘>’S*; Unary_operator: ‘-‘ | ‘+’; Ominaisuus: ident S*; Säännöt: Selector [‘,’ S* Selector]* ” S* julistus? [‘;’; ‘ S* julistus? ]* ” S*; Selector: Simple_Selector [Combinator Selector | S+ [yhdistelmä? valitsin]? -? ; Simple_selector: element_name [hash | Luokka | Attrib | pseudo]* | [Hash | Luokka | Attrib | pseudo]+; Luokka: ‘.’Identiteetti; Element_name: identtinen | ‘*’; Attrib: ‘[‘ s* ident s* [[‘=’ | Sisältää | DashMatch] S* [identtinen | Merkkijono] s*]? ‘]’; pseudo: ‘:’ [ident | Toiminto S* [ident S*]? ‘)’]; Ilmoitus: omaisuus ‘:’ S* Expr PRIO? ; PRIO: TÄRKEYS_SYM S*; expr: termi [operaattori? termi ]* ; Termi: Unary_operator? [Numero s* | Prosenttiosuus s* | Pituus s* | EMS S* | Exs s* | Kulma S* | Aika s* | Freq s*] | Merkkijono S* | Ident S* | Uri S* | Hexcolor | toiminto; Toiminto: funktio s* expr ‘)’ s*; / * * Väri on rajoitettu, että sillä on oltava * joko 3 tai 6 heksa-numeroista (I.e., [0-9a-fa-f]) * “#” jälkeen; e.g., “#000” on ok, mutta “#ABCD” ei ole. */ kuusikärri: hash s*;

G.2 leksinen skanneri

Seuraava on tokenizer, kirjoitettu flex (katso [Flex]) merkintä. Tokenisaattori on tapausherkkä.

“\ 377” edustaa korkeinta merkkinumeroa, jota Flexin nykyiset versiot voivat käsitellä (desimaalin 255). Sitä tulisi lukea nimellä “\ 4177777” (desimaali 1114111), mikä on suurin mahdollinen koodipiste Unicode/ISO-10646: ssa.

%Option-tapaushaluinen
H [0-9a-f] nonascii [\ 240- \ 377] Unicode \\ H 1,6 (\ r \ n | [\ t \ r \ n \ f]))? Escape unicode | \\ [^\ r \ n \ f0-9a-f] nmstart [_a-z] | nonascii | paeta nmchar [_a-z0-9-] | eicii | Escape merkkijono1 \ “([^\ n \ r \ f \\”] | \\ nl | Escape)*\ “String2 \ ‘([^\ n \ r \ f \\’] | \\ nl | paeta)*\ ‘badstring1 \ “([^\ n \ r \ f \\”] | \\ nl | paeta)*\\? badstring2 \ ‘([^\ n \ r \ f \\’] | \\ nl | Escape)*\\? BadComment1 \/\*[^*]*\*+([^/*] [^*]*\*+)*badComment2 \/\*[^*]*(\*+[^/*] [^ *]*)*baduri1 url \ (w ([!#$%&*-\ [\]-~] | eicii | Escape)*W baduri2 url \ (w merkkijono w baduri3 url \ (w badstring kommentti \/\* [^*]*\*+([^/*] [^*]*\*+)*\/ ident -?nmStart nmchar* nimi nmchar+ num [0-9]+ | [0-9]* “.”[0-9]+ merkkijono merkkijono1 | String2 badstring badstring1 | badstring2 badcomment badcomment1 | badcomment2 baduri baduri1 | baduri2 | baduri3 url ([[!#$%&*-~] | nonascii | Escape)* s [\ t \ r \ n \ f]+ w s? nl \ n | \ r \ n | \ r | \ f
A a | \\ 0 0,4 (41 | 61) (\ r \ n | [\ t \ r \ n \ f])? C C | \\ 0 0,4 (43 | 63) (\ r \ n | [\ t \ r \ n \ f])? D d | \\ 0 0,4 (44 | 64) (\ r \ n | [\ t \ r \ n \ f])? E E | \\ 0 0,4 (45 | 65) (\ r \ n | [\ t \ r \ n \ f])? G g | \\ 0 0,4 (47 | 67) (\ r \ n | [\ t \ r \ n \ f])?| \\ g h | \\ 0 0,4 (48 | 68) (\ r \ n | [\ t \ r \ n \ f])?| \\ h i | \\ 0 0,4 (49 | 69) (\ r \ n | [\ t \ r \ n \ f])?| \\ i k k | \\ 0 0,4 (4b | 6b) (\ r \ n | [\ t \ r \ n \ f])?| \\ k l | \\ 0 0,4 (4c | 6c) (\ r \ n | [\ t \ r \ n \ f])?| \\ l m | \\ 0 0,4 (4d | 6d) (\ r \ n | [\ t \ r \ n \ f])?| \\ m n n | \\ 0 0,4 (4e | 6e) (\ r \ n | [\ t \ r \ n \ f])?| \\ n o o | \\ 0 0,4 (4f | 6f) (\ r \ n | [\ t \ r \ n \ f])?| \\ o p p | \\ 0 0,4 (50 | 70) (\ r \ n | [\ t \ r \ n \ f])?| \\ p r | \\ 0 0,4 (52 | 72) (\ r \ n | [\ t \ r \ n \ f])?| \\ r s | \\ 0 0,4 (53 | 73) (\ r \ n | [\ t \ r \ n \ f])?| \\ s t t | \\ 0 0,4 (54 | 74) (\ r \ n | [\ t \ r \ n \ f])?| \\ t u u | \\ 0 0,4 (55 | 75) (\ r \ n | [\ t \ r \ n \ f])?| \\ u x x | \\ 0 0,4 (58 | 78) (\ r \ n | [\ t \ r \ n \ f])?| \\ x z z | \\ 0 0,4 (5a | 7a) (\ r \ n | [\ t \ r \ n \ f])?| \\ z
%%
s return s;
\/\*[^*]*\*+([^/*] [^*]*\*+)*\//*Ohita kommentit*/BadComment/*Selvittämätön kommentti EOF*/
“<!–“Palauta cdo;”–>”paluu cdc;” ~ = “paluu sisältää;” | = “return dashMatch;
merkkijono return String; badstring return bad_string;
ident return ident;
“#” nimi return hash;
@I m p o r t return quo_sym; @p a g e return sig_sym; @m e D i a return media_sym; “@Charset” return charset_sym;
“!”(W | kommentti)*i m p o r t a n t return teatter_sym;
num e m return ems; num e x return exs; num p x paluu pituus; num c m paluupituus; num m m paluupituus; num i n paluupituus; num p t paluupituus; num } P c paluupituus; num d e g return kulma; num r a d paluukulma; num {{ G} {r} {a} {d} {palautuskulma;} {num} {m} {s} {paluuaika;} {num} {s} {paluuaika;} {num} {H} {Z} {return freq;} {num} {k} {h} {z} {return freq;} {num} {ident} {return Dimension;}
{num}% {palautusprosentti;} {num} {palautusnumero;}
“url (” {w} {merkkijono} {w} “)” {return uri;} “url (” {w} {url} {w} “)” {return uri;} {baduri} {return bad_uri;}
{ident} “(” {paluutoiminto;}
. {return *yytext;}

G.3 Tokenoinnin vertailu CSS2: ssa.1 ja CSS1

CSS1 -suosituksessa määritettyyn syntaksiin on joitain eroja ([CSS1]), ja yllä oleva. Suurin osa näistä johtuu CSS2: n uusista rahakkeista, joita ei ollut CSS1: ssä. Toiset johtuvat siitä, että kielioppi on kirjoitettu uudelleen luettavissa olevaksi. On kuitenkin joitain yhteensopimattomia muutoksia, jotka tuntui olevan virheitä CSS1 -syntaksissa. Ne selitetään alla.

  • CSS1-tyyliset arkit voivat olla vain 1-tavun kohden perimäisissä koodauksissa, kuten ASCII ja ISO-8859-1. CSS 2.1 ei ole tällaista rajoitusta. Käytännössä CSS1-tokenizerin ekstrapolointiin ei ollut juurikaan vaikeuksia, ja jotkut UA: t ovat hyväksyneet 2-tavun koodaukset.
  • CSS1 salli vain neljä heksa-numeroista takaosan (\) jälkeen viitata Unicode-merkkeihin, CSS2 sallii kuusi. Lisäksi CSS2 antaa valkoisen avaruuden hahmon rajata poistumisjärjestyksen. E.g., CSS1: n mukaan merkkijono “\ abcdef” on 3 kirjainta (\ abcd, e ja f), CSS2: n mukaan siinä on vain yksi (\ abcdef).
  • Tab -merkkiä (ASCII 9) ei sallittu merkkijonoissa. Koska CSS1: n jousia käytettiin kuitenkin vain fontinimiin ja URL -osoitteisiin, ainoa tapa, jolla tämä voi johtaa yhteensopimattomuuteen CSS1: n ja CSS2: n välillä, on, jos tyylilevy sisältää fonttiperheen, jonka nimessä on välilehti.
  • Samoin uutiset (pakeni selkänojalla) ei sallittu CSS1: n kielissä.
  • CSS2 jäsentää numeron, jota seuraa välittömästi tunniste ulottuvuuden tunnukseksi (I.e., Tuntematon yksikkö), CSS1 jäsenti sen lukumääränä ja tunnisteena. Tämä tarkoittaa, että CSS1: ssä julistus ‘fontti: 10pt/1.2Serif ‘oli oikea, samoin kuin’ fontti: 10pt/12pt serif ‘; CSS2: ssa tarvitaan tilaa ennen “serif”. (Jotkut UAS hyväksyi ensimmäisen esimerkin, mutta ei toista.-A
  • CSS1: ssä luokan nimi voisi aloittaa numerolla (“.55ft “), ellei se ollut ulottuvuus (“.55in “). CSS2: ssa tällaiset luokat jäsennetään tuntemattomia ulottuvuuksia (uusien yksiköiden tulevien lisäysten mahdollistamiseksi). Tehdä “.55ft “Voimassa oleva luokka, CSS2 vaatii ensimmäisen numeron paeta (” “.\ 35 5ft “)

G.4 Toteutustieto

CSS -ytimen syntaksin leksinen skanneri sisään Kohta 4.1.1 voidaan toteuttaa skannerina ilman varmuuskopiota. Lex -merkinnässä se vaatii seuraavien kuvioiden lisäämisen (jotka eivät muuta palautettuja merkkejä, vain skannerin tehokkuus):

{ident}/\\ paluu identiteetti; #{Nimi}/\\ palauta hash; @{ident}/\\ palauta atKeyWord; #/\\ paluu delim; @/\\ paluu delim; @/- palauta delim; @/-\\ paluu delim; -/\\ paluu delim; -/- paluu delim; \<-! paluu Delim; \<-!- paluu Delim; {num} {ident}/\\ paluumitta; {num}/\\ palautusnumero; {num}/- palautusnumero; {num}/-\\ palautusnumero; [0-9]+/\. palautusnumero; u/\+ paluu identiteetti; u \+[0-9a-f?] {1,6}/- palauta unicode_range;

Leave a Reply