DOM.SVG.Grammar.Path (dom_svg v0.1.0)

This module contains rules for path's SVG grammar data defined in https://svgwg.org/svg2-draft/single-page.html#paths-PathDataBNF

The EBNF Grammar that describe the rules defined here is:

    svg_path ::= wsp* ( moveto wsp* drawto_command* )? moveto?
    list_of_points ::= wsp* coordinate_pair_sequence wsp*
    drawto_command ::= wsp* ( moveto | closepath | lineto | horizontal_lineto | vertical_lineto | curveto | smooth_curveto | quadratic_bezier_curveto | smooth_quadratic_bezier_curveto | elliptical_arc )
    moveto ::= ( 'm' | 'M' ) wsp* coordinate_pair_sequence
    closepath ::= 'z' | 'Z'
    lineto ::= ( 'l' | 'L' ) wsp* coordinate_pair_sequence
    horizontal_lineto ::= ( 'h' | 'H' ) wsp* coordinate_sequence
    vertical_lineto ::= ( 'v' | 'V' ) wsp* coordinate_sequence
    curveto ::= ( 'c' | 'C' ) wsp* curveto_coordinate_sequence
    curveto_coordinate_sequence ::= coordinate_pair_triplet ( comma_wsp? coordinate_pair_triplet )*
    smooth_curveto ::= ( 's' | 'S' ) wsp* smooth_curveto_coordinate_sequence
    smooth_curveto_coordinate_sequence ::= coordinate_pair_double ( comma_wsp? coordinate_pair_double )*
    quadratic_bezier_curveto ::= ( 'q' | 'Q' ) wsp* quadratic_bezier_curveto_coordinate_sequence
    quadratic_bezier_curveto_coordinate_sequence ::= coordinate_pair_double ( comma_wsp? coordinate_pair_double )*
    smooth_quadratic_bezier_curveto ::= ( 't' | 'T' ) wsp* coordinate_pair_sequence
    elliptical_arc ::= ( 'a' | 'A' ) wsp* elliptical_arc_argument_sequence
    elliptical_arc_argument_sequence ::= elliptical_arc_argument ( comma_wsp? elliptical_arc_argument )*
    elliptical_arc_argument ::= number comma_wsp? number comma_wsp? number comma_wsp? large_arc_flag comma_wsp? sweep_flag comma_wsp? coordinate_pair
    large_arc_flag ::= '0' | '1'
    sweep_flag ::= '0' | '1'
    coordinate ::= numbers
    number ::= numbers
    coordinate_sequence ::= coordinate ( comma_wsp? coordinate )*
    coordinate_pair ::= coordinate comma_wsp? coordinate
    coordinate_pair_sequence ::= coordinate_pair ( comma_wsp? coordinate_pair )*
    coordinate_pair_triplet ::= coordinate_pair comma_wsp? coordinate_pair comma_wsp? coordinate_pair
    coordinate_pair_double ::= coordinate_pair comma_wsp? coordinate_pair

Link to this section Summary

Link to this section Functions