* 仕様書
[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]] 版))