1st project: CCSS parser
Overview: CCSS is a CSS superset with a syntax to link selectors with constraints which later is solved by GSS and Cassowary constraint solver. It takes text input and outputs simple Abstract Syntax Tree. Most of the features are described in CCSS documentation on official site: (http://gridstylesheets.org/guides/ccss/
Goal: Rewrite CCSS parser in conformance with existing specs (https://github.com/gss/parser/tree/master/spec). The new parser should avoid using intermediate abstractions (like PEGs) for best performance, but still should retain extensibility. It should be friendly to developer and produce information needed for debugging.
Parsing:
- CSS3 Values, should parse 99% of modern CSS grammar into AST (including things like gradients, units, and calc expressions)
- Selectors. All CSS3 selectors + GSS virtuals
- CSS3 constructs (rules and media queries, font face, conditions).