From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 14CEBBBAF for ; Wed, 10 Mar 2010 20:16:52 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtABAHJ/l0tDww+jkWdsb2JhbACDC4tagXV5iRYBAQEBCQsKBxMDEQ6sFDaBYYUViHcBBAQBgS2CXWoEgxc X-IronPort-AV: E=Sophos;i="4.49,615,1262559600"; d="scan'208";a="58526232" Received: from web111506.mail.gq1.yahoo.com ([67.195.15.163]) by mail4-smtp-sop.national.inria.fr with SMTP; 10 Mar 2010 20:16:44 +0100 Received: (qmail 29862 invoked by uid 60001); 10 Mar 2010 19:16:42 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1268248602; bh=uz8e1cwHBolcYuoRRW/hmM9brB4r2Lsl5qtW2QzBxHM=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=r/UUC86xNYooul1H2p2CHwJ/OAMOTVtvoEVOsJ7PpbcYN9T1fTZ8edBIz6K3ZmVmPVvB8dubmheXaArralhJSk7lJVdZFx6+vA8ahQ8zWOrzXD0prb/tqwan7YLFwsHJcvQyvqQqDYteA6LEne2BIbWA/hf0DQt8CSlvUa1LJYA= DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=uXew3VHekIcA76T7SOopy/9xVtliSlHmLkcxdiOa7VWm8Dwj/KqzZIpqKc7pmtEefw/UqvXggqpPSiXDJITqE101eiSauuzlfeWmxaQvC6JtFcMrpHLpZ0IMRp5OOWWrJhdi4/WFHVdHZZQ4y+JcPWv0vXeusIyb/JxxDo40Tm4=; Message-ID: <178425.29275.qm@web111506.mail.gq1.yahoo.com> X-YMail-OSG: 1AT1r1gVM1nJNaSf8Mg9UCFq1Hom0lq6Z0jkq93ntz0Dzi5 ZwkoCalOY7IB6gmc5zClkzASU3L5vcLbuDNOMgYNrDhqxn3UOMj0oBS6Kj9F _GmBU9FU5NdlJDusksNHTonFsr_JNACA93IQUYFy_fV3Hy6oRhx7yP4.cb._ d7bkzxrUVcHKTC3LlM3pkmw9aN.arWWSrZUM5PlbUh1yqJ7N4QqJiz.kS6Cp 7ObONm9n_EPPUv6nZfVtQxGZxwtoMhWKCxFC4X6Rjm37o.Y6bRpyixNFUbKe gX1NpYaeKEzZ2ZFAnEKiSQIqVgSi34GPuzwDz5DIWcwY4gv2SfwGgzyBCCUw xI2fjRPJpmegHwtXRd.AVerAqvejeEaqV.8_QUct_E6HN5.t.u7YXMA-- Received: from [213.205.71.57] by web111506.mail.gq1.yahoo.com via HTTP; Wed, 10 Mar 2010 11:16:41 PST X-Mailer: YahooMailClassic/9.2.12 YahooMailWebService/0.8.100.260964 Date: Wed, 10 Mar 2010 11:16:41 -0800 (PST) From: Dario Teixeira Subject: [ANN] CCSS 1.0 To: caml-list@yquem.inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; parser:01 parser:01 syntax:01 foo:01 syntax:01 source-code:01 1.0:98 gpl:01 parsed:01 syntactic:01 preprocessor:01 arithmetic:01 arithmetic:01 ast:02 ast:02 Hi,=0A=0ACCSS is a preprocessor for CSS (Cascading Style Sheets), extending= the=0Alanguage with arithmetic operations and variables. It was born out = of=0Afrustration with the unbearable slowness and lack of support for some= =0ACSS3 constructs in other similar tools such as LESS [1]. Here are=0Asom= e points to be aware:=0A=0A - The CSS source is actually parsed into an AST= , which is then converted=0A again into a CSS textual representation for = output. You can therefore=0A use it as a pretty-printer. On the downsid= e, comments are stripped out.=0A=0A - Because it is an actual parser, it is= fairly straightforward to hack=0A your own custom transformations to the= AST. The scanner is Ulex-based,=0A whereas Menhir is required for build= ing the parser.=0A=0A - CCSS knows only of CSS syntax, and has no knowledge= of actual CSS=0A properties and valid values for each. This simplifies = the program=0A and makes it future-compatible, but also means that will g= leefully=0A accept nonsensical CSS properties such as the following:=0A= =0A h1 {foo: bar;}=0A=0A - The scanner/parser does not cover some of the = hairy corners of CSS.=0A It does however handle new syntactic constructs = introduced with CSS3.=0A=0A - The arithmetic operations are unit-aware, and= will complain if you=0A try adding apples and oranges, for example.=0A= =0A=0AExamples of use and the syntax for the language extensions are descri= bed=0Ain the project's homepage, which also includes building instructions = and=0Adownload links [2]. Note that the source-code is released under the = terms=0Aof the GNU GPL v2.=0A=0ALast, but not least, though no particular a= ttention was given to performance,=0Ait does fulfill the initial goal of ma= king execution time as close to zero=0Aas not to get in the way...=0A=0AHop= e you find it useful -- feedback is welcome!=0A=0ABest regards,=0ADario Tei= xeira=0A=0A=0A[1] http://lesscss.org/index.html=0A[2] http://ccss.forge.oca= mlcore.org/=0A=0A=0A=0A