Eagle Legacy Modernization, LLC

CSS Grammar

Main program: CSS_Program

CSS syntax:

 Count  Terminals:
11 CSS_Base64: base 64 literal
5,307 CSS_Class_Definition: An identifier
55 CSS_Comment: /* comment */ or // comment to end of line
47 CSS_FileName: file name
1,454 CSS_HexNumber: A hex number
15,240 CSS_Identifier: An identifier
262 CSS_Literal: quotes:"' escape:\ doubled:no multiline:no
7,115 CSS_Number: exponent_chars:none suffix_chars:none trailing_period:yes ignore_char:none
 Count  Statistics(*) Tokens:
75 (none | none | none | all | none | none | none | none | none) CSS_AtEntry: (CSS_AtApply | CSS_AtCharset | CSS_AtImport | CSS_AtMedia | CSS_AtMozDocument | CSS_AtNamespace | CSS_AtProvide | CSS_AtRequire | CSS_AtSupports)
240 15.48(99%) CSS_Program: [CSS_Entry]*
3,906 2.00(100%) none all 2.15(100%) 0% all 2.00(0%) none 0% 0% none |   CSS_Body: [CSS_TagList]* ['*'] '{' [CSS_Item]* [CSS_BackslashZero] '}' [CSS_ColonOption]* [CSS_StarPiece] [CSS_Qualifier] [','] [';']
1 all all |   |   CSS_BackslashZero: '\' CSS_Number
    |   |   CSS_StarPiece: '*' [':'] ["first-child"] ['+'] "html"
3,685 (1% | 97% | none | 2%) |   CSS_Entry: (CSS_Comment | CSS_Body | CSS_If_Directive | CSS_AtEntry)
8,403 (0% | 0% | 0% | 99%) |   CSS_Item: (CSS_PercentItem | CSS_ToItem | CSS_Comment | CSS_Line)
12 all all all 1.67(all) all |   |   CSS_PercentItem: CSS_Number '%' '{' [CSS_Item]* '}'
8 all all 1.25(all) all |   |   CSS_ToItem: ("from"|"to") '{' [CSS_Item]* '}'
8,444 0% all all 100% 0% 63% none |   CSS_Line: ['*'] CSS_Identifier (":"|"=") [CSS_Value_List] [CSS_Tab] [';'] [';']
5 all |   |   CSS_Tab: "\9"
8,443 all 2.06(16%) |   |   CSS_Value_List: CSS_Value [CSS_MoreValues]*
2,718 (4% | 96%) |   |   |   CSS_MoreValues: (CSS_MoreValuesComma | CSS_Value)
122 all all |   |   |   |   CSS_MoreValuesComma: ',' CSS_Value
184 all all all all CSS_Qualifier: '[' CSS_QualifierChoice ']' ['>']
184 (6% | 2% | 59% | 1% | none | 2% | none | 1% | none | 30%) |   CSS_QualifierChoice: (("has-element-focus"|"multiple"|"readonly"|"selected"|"size"|"subframe") | CSS_QualifierClass | CSS_QualiferCode | CSS_QualifierDataToggle | CSS_QualifierDir | CSS_QualifierFrame | CSS_QualifierHighlight | CSS_QualifierRole | CSS_QualifierRow | CSS_QualifierType)
7,826 all 0% all all 9% 2% 1.00(0%) 1.02(17%) all CSS_TagList: ['@'] [':'] ["::"] CSS_Tag [CSS_DotClass] [CSS_Qualifier] [CSS_MoreQualifiers]* [CSS_ColonOption]* [(","|"+"|"~"|">")]
1,389 all all 3% 34% |   CSS_ColonOption: ':' ("active"|"after"|"before"|"checked"|"decrement"|"default"|"end"|"first-child"|"focus"|"horizontal"|"hover"|"increment"|"last-child"|"link"|"-moz-any-link"|"not"|"nth-child"|"-o-prefocus"|"start"|"vertical"|"visited"|"webkit-any") [CSS_ColonParens] [',']
43 all all all |   |   CSS_ColonParens: '(' CSS_ColonArgument ')'
43 (2% | 77% | 16% | 5%) |   |   |   CSS_ColonArgument: (CSS_ColonArgBrackets | CSS_ColonArgColon | CSS_ColonArgDot | CSS_Identifier)
1 all all all |   |   |   |   CSS_ColonArgBrackets: '[' CSS_Identifier ']'
33 all all |   |   |   |   CSS_ColonArgColon: ':' CSS_Identifier
7 all all |   |   |   |   CSS_ColonArgDot: '.' CSS_Identifier
5,318 all all |   CSS_DotClass: '.' CSS_DotWhat
5,318 (0% | 100%) |   |   CSS_DotWhat: ("media" | CSS_Class_Definition)
3 33% all |   CSS_MoreQualifiers: [','] CSS_Qualifier
7,826 (3% | 41% | 56% | 0%) |   CSS_Tag: (CSS_Id_DotClass | CSS_Identifier | CSS_DotClass | '*')
204 all all |   |   CSS_Id_DotClass: CSS_Identifier CSS_DotClass
11,420 (0% | 0% | 4% | 0% | 0% | 1% | 11% | 2% | 2% | 0% | 48% | 0% | 0% | 0% | 0% | 1% | none | 29%) CSS_Value: (CSS_Alpha_Value | CSS_Attr | CSS_Color | CSS_Cubic_Bezier | CSS_Format | CSS_Gradient | CSS_HexNumber | CSS_Important | CSS_Literal | CSS_Microsoft_Gradient | CSS_NumericValue | CSS_Rect | CSS_RotateValue | CSS_Scale | CSS_Translate3d | CSS_URL_Value | CSS_Webkit_Image_Set | CSS_IdentifierValue)
    CSS_AtApply: '@' "apply" "--" ("diagnostics-card-icon"|"diagnostics-caution-banner-font"|"diagnostics-chart-tick-font"|"diagnostics-chart-title-font"|"diagnostics-routine-additional-message-font"|"diagnostics-routine-name-font"|"diagnostics-settings-link-font"|"diagnostics-text-badge-font"|"diagnostics-troubleshooting-font")
    CSS_AtCharset: '@' "charset" [CSS_AtCharsetACD] CSS_Literal ';'
    |   CSS_AtCharsetACD: '\' ("A"|"C"|"D"|"9")
    CSS_AtImport: '@' "import" CSS_ImportWhat ';'
    |   CSS_ImportWhat: (CSS_URL_Value | CSS_FileName | CSS_Literal)
75 all all all 1.26(31%) all none 4.32 all CSS_AtMedia: '@' "media" CSS_MediaParam [CSS_MoreMediaParam]* '{' [CSS_Comment] CSS_Body* '}'
104 (85% | 6% | 10% | none) |   CSS_MediaParam: (CSS_MediaParamParens | CSS_MediaPrint | CSS_MediaScreen | "all")
88 all all all |   |   CSS_MediaParamParens: '(' CSS_Line ')'
6 all |   |   CSS_MediaPrint: "print"
10 all all |   |   CSS_MediaScreen: ["only"] "screen"
29 14% all all |   CSS_MoreMediaParam: [','] ["and"] CSS_MediaParam
    CSS_AtMozDocument: '@' "-moz-document" "url-prefix" '(' CSS_Literal ')' '{' CSS_Body* '}'
    CSS_AtNamespace: '@' "namespace" CSS_AtNameSpaceArg* ';'
    |   CSS_AtNameSpaceArg: (CSS_AtNameSpaceURL | CSS_Literal)
    |   |   CSS_AtNameSpaceURL: [CSS_Identifier] "URL" '(' CSS_FileName ')'
    CSS_AtProvide: '@' "provide" CSS_Literal ';'
    CSS_AtRequire: '@' "require" CSS_Literal ';'
    CSS_AtSupports: '@' "supports" ["not"] '(' CSS_Tag ':' CSS_Value ')' '{' CSS_Body '}'
    CSS_If_Directive: '<' "if" "expr" '=' CSS_Literal '>' CSS_Entry* CSS_EndIf
    |   CSS_EndIf: '<' '/' "if" '>'
108 all 2% CSS_QualiferCode: ("controls"|"data-original-title"|"disabled"|"hidden"|"href"|"title") [CSS_BracketsHatEquals]
2 all all all |   CSS_BracketsHatEquals: '^' '=' CSS_Literal
4 all all all all CSS_QualifierClass: "class" '*' '=' CSS_Value
2 all all all CSS_QualifierDataToggle: "data-toggle" '=' CSS_Value
    CSS_QualifierDir: "dir" '=' CSS_QualifierWhichDir
    |   CSS_QualifierWhichDir: (("rtl") | CSS_Literal)
3 all all all CSS_QualifierFrame: ("aria-valuenow"|"frame"|"page") '=' CSS_Literal
    CSS_QualifierHighlight: "highlight" '=' CSS_QualifierWhichHighlight
    |   CSS_QualifierWhichHighlight: (("strong") | CSS_Literal)
1 all all all CSS_QualifierRole: "role" '=' CSS_QualifierWhichRole
1 (all | none) |   CSS_QualifierWhichRole: (("button"|"number"|"text") | CSS_Literal)
    CSS_QualifierRow: "row$" '=' CSS_Literal
55 all all all all CSS_QualifierType: "type" '=' CSS_QualifierWhichType ["i"]
55 (all | none) |   CSS_QualifierWhichType: (("button"|"checkbox"|"date"|"datetime-local"|"email"|"file"|"month"|"number"|"password"|"radio"|"range"|"reset"|"search"|"submit"|"time"|"text") | CSS_Literal)
457 (none | 1% | 73% | 1% | 10% | 15%) CSS_Color: (CSS_HSL_Value | CSS_QualifiedColor | CSS_RGBA_Value | CSS_RGB_Value | CSS_Transparent | ("black"|"blue"|"green"|"red"|"white"))
    |   CSS_HSL_Value: "hsl" '(' CSS_Number ',' CSS_Number ['%'] ',' CSS_Number ['%'] ')'
5 all all |   CSS_QualifiedColor: [("dark"|"light")] ("gray"|"grey")
335 all all all all all all all all all all 17% |   CSS_RGBA_Value: "rgba" '(' CSS_Number ',' CSS_Number ',' CSS_Number ',' CSS_Number ')' [CSS_NumericValue]
4 all all all all all all all all |   CSS_RGB_Value: "rgb" '(' CSS_Number [','] CSS_Number [','] CSS_Number ')'
45 all all |   CSS_Transparent: "transparent" CSS_NumericValue
21 all all all all all all CSS_Alpha_Value: "alpha" '(' "opacity" '=' CSS_Number ')'
2 all all all all CSS_Attr: "attr" '(' ("href"|"title") ')'
2 all all all all all all all all all all CSS_Cubic_Bezier: "cubic-bezier" '(' CSS_Number ',' CSS_Number ',' CSS_Number ',' CSS_Number ')'
4 all all all all CSS_Format: "format" '(' CSS_Literal ')'
117 all all all 3.02(all) all CSS_Gradient: ("linear-gradient"|"-moz-linear-gradient"|"-ms-linear-gradient"|"-o-linear-gradient"|"-webkit-linear-gradient"|"-webkit-gradient") '(' CSS_Gradient_Piece [CSS_MoreGradient]* ')'
470 (1% | 13% | none | 7% | 43% | 31% | 5%) |   CSS_Gradient_Piece: (CSS_Gradient_Direction | CSS_Gradient_Source | CSS_NumberNumber | "linear" | ("top"|"bottom"|"left"|"right") | CSS_HexNumber | CSS_Color)
3 all all |   |   CSS_Gradient_Direction: ("from"|"to") ("top"|"bottom"|"left"|"right")
62 all all all all |   |   CSS_Gradient_Source: ("from"|"to") '(' CSS_Value ')'
    |   |   CSS_NumberNumber: CSS_Number [CSS_Number] ['%']
353 82% all |   CSS_MoreGradient: [','] CSS_Gradient_Piece
3,348 all 1% CSS_IdentifierValue: CSS_Identifier [CSS_FunctionCall]
19 all all all |   CSS_FunctionCall: '(' [CSS_FunctionParams] ')'
111 all all |   |   CSS_FunctionAnotherParam: [','] CSS_Value
19 all 6.17(95%) |   |   CSS_FunctionParams: CSS_Value [CSS_FunctionAnotherParam]*
285 all all CSS_Important: '!' "important"
24 all all all all all all all all all 1.61(96%) all CSS_Microsoft_Gradient: "progid" ':' "DXImageTransform" '.' "Microsoft" '.' "gradient" '(' CSS_MS_GradientPiece [CSS_More_MS_GradientPieces]* ')'
61 all all all |   CSS_MS_GradientPiece: ("startColorStr"|"endColorStr"|"GradientType"|"enabled") '=' CSS_Value
37 all all |   CSS_More_MS_GradientPieces: ',' CSS_MS_GradientPiece
5,634 all 71% 0% CSS_NumericValue: CSS_Number [CSS_NumericSuffix] [CSS_SlashNumber]
4,014 (89% | 11%) |   CSS_NumericSuffix: (("deg"|"em"|"in"|"px"|"s"|"vw") | '%')
5 all all 80% |   CSS_SlashNumber: '/' CSS_Number [CSS_NumericSuffix]
1 all all all all all all all all all all CSS_Rect: "rect" '(' CSS_Number [','] CSS_Number [','] CSS_Number [','] CSS_Number ')'
1 all all all all all CSS_RotateValue: "rotate" '(' CSS_Number "deg" ')'
22 all all all all all all CSS_Scale: "scale" '(' CSS_Number ',' CSS_Number ')'
11 all all all all all all all all CSS_Translate3d: "translate3d" '(' CSS_Number ',' CSS_Number ',' CSS_Number ')'
58 all all all all CSS_URL_Value: "url" '(' CSS_File ')'
58 (19% | 81%) |   CSS_File: (CSS_FileInline | CSS_FileName)
11 all all all all all all all all all |   |   CSS_FileInline: "data" ':' "image" '/' "png" ';' "base64" ',' CSS_Base64
    CSS_Webkit_Image_Set: "-webkit-image-set" '(' CSS_Webkit_Value [CSS_More_WebkitPieces]* ')'
    |   CSS_More_WebkitPieces: ',' CSS_Webkit_Value
    |   CSS_Webkit_Value: CSS_Value ("1x"|"2x"|"3x")

Terminals = 8 (instances=29,491)
Tokens = 100 (instances=92,003)

(*) Statistics are shown in the same order as the Tokens.
Percentages are rounded; 'all' and 'none' mean 100% and 0% before rounding.
For lists, it shows the average number of occurrences, excluding empty lists.