* 仕様書 [REFS[ - [4] [CITE@en[CSS Syntax Module Level 3]] ([TIME[2013-06-29 19:17:26 +09:00]] 版) ]REFS] * 入口点 [5] [[css-syntax]] ではいくつかの[RUBYB[[[入口点]]]@en[entry point]] (構文解析器の動作開始点) を定義しています。 [FIG[ - [[スタイルシート]] / [[parse a style sheet]] -- [[外部スタイルシート]] -- [CODE(HTMLe)@en[[[style]]]] [[要素]] - [[規則リスト]] / [[parse a list of rules]] - [[規則]] / [[parse a rule]] -- [CODE(DOMm)@en[[[insertRule]]]] -- [CODE(DOMi)@en[[[CSSRule]]]] [CODE(DOMa)@en[[[cssText]]]] - [[宣言]] / [[parse a declaration]] -- [CODE(CSS)@en[[[@supports]]]] - [[宣言リスト]] / [[parse a list of declarations]] -- [CODE(HTMLa)@en[[[style]]]] [[属性]] -- [CODE(DOMi)@en[[[CSSStyleDeclaration]]]] [CODE(DOMa)@en[[[cssText]]]] - [[構成値]] / [[parse a component value]] - [[構成値リスト]] / [[parse a list of component values]] ]FIG] [6] この他にも次のような[[入口点]]があります。 [FIG[ - [[選択子群]] / [[parse a group of selectors]] -- [CODE(DOMa)@en[[[selectorText]]]] -- [[選択子API]] - [[ページ選択子リスト]] / [[parse a list of CSS page selectors]] -- [CODE(DOMi)@en[[[CSSPageRule]]]] [CODE(DOMa)@en[[[selectorText]]]] - [[媒体クエリーリスト]] / [[parse a media query list]] -- [CODE(HTMLa)@en[[[media]]]] [[属性]] -- [CODE(DOMa)@en[[[mediaText]]]] - [[媒体クエリー]] / [[parse a media query]] -- [CODE(DOMm)@en[[[appendMedium]]]] - [[特性値]] / [[parse a CSS value]] -- [CODE(DOMm)@en[[[setProperty]]]] -- [CODE(DOMi)@en[[[CSSStyleDeclaration]]]] の [[CSS特性]]を[[反映]]する[[属性]] ]FIG] * 歴史 ** 状態機械の仕様化 [REFS[ -[1] [CITE[IRC logs: freenode / #whatwg / 20120409]] ( ([TIME[2012-04-15 13:32:46 +09:00]] 版)) ]REFS] [2] 2012年の春になって、ようやく [[css3-syntax]] で [[HTML5]] 仕様風の[[字句化器]]と[[木構築器]]からなる[[状態機械]]として[[構文解析]]の挙動が明確に記述されるようになりました。 [3] [CITE[tabatkins/css-parser]] ( ([TIME[2012-08-05 15:02:04 +09:00]] 版))