Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with ESMTP id r9ODC5Sc013474 for ; Thu, 24 Oct 2013 15:12:06 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx111) with ESMTPS (Nemesis) id 0MgoJQ-1VMBZ93zUm-00M1tQ for ; Thu, 24 Oct 2013 15:11:59 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id r9OD6dRR010403 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 24 Oct 2013 15:06:39 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r9NM16k7007508; Thu, 24 Oct 2013 15:06:38 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 10487937 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 24 Oct 2013 15:06:38 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r9OD6cZW026821 for ; Thu, 24 Oct 2013 15:06:38 +0200 Received: from mail-qa0-f52.google.com (mail-qa0-f52.google.com [209.85.216.52]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id r9OD6Ll5010165 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL) for ; Thu, 24 Oct 2013 15:06:24 +0200 Received: by mail-qa0-f52.google.com with SMTP id w8so1320590qac.4 for ; Thu, 24 Oct 2013 06:06:20 -0700 (PDT) X-Received: by 10.224.69.69 with SMTP id y5mr3704723qai.53.1382619980739; Thu, 24 Oct 2013 06:06:20 -0700 (PDT) Received: from [192.168.0.144] (200-161-159-95.dsl.telesp.net.br. [200.161.159.95]) by mx.google.com with ESMTPSA id ge5sm2578335qeb.5.2013.10.24.06.06.19 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 24 Oct 2013 06:06:20 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 References: <5268D3D0.1050209@residenset.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <52691B49.1070503@gmail.com> Date: Thu, 24 Oct 2013 11:06:17 -0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Paulo Roberto Massa Cereda Subject: Re: l3regex feature request + a question about the implementation To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:o2/R57MdzuA=:H0q4Vt9GtK8tc+NpxnZNbpaFt8 lKzhg6VSg12Cs7TaOXUsK1HvwvjB39N4vRevVgq8qpK3ndcSoIdquXeozA3q/PASHX6BmVWqL UZZhzoEZDDhmCIqdSMAnYlM900ojf2hNre+YS3ZM460mM3qZmr+yo8qJycn3HLjkDuAJT7bfR eJM0Ep4ULtD1kBXyaAnrC6L6FFihzpCvp1NVeGKM1TXMapyO6PSPKPW4uD5Y69wA1d9T1v2YO 7MdySqJDGSAPJ6bv721OsTa/NUyIS58n3hrOimy04qWKRYeC+k8CzWRZBLQXxXTsVIjacpF61 WpfS32XRKASuXianrhG7IDxh18c/xhlLWpv+6g4eW1TQP17Ml4heZt6TxfDVn2FAvlxMNIwsl 1sJrkiY4xiVOQjJRdn5N2+yXksBfn3qu0NCmCF0UnefzLecm3ibRdhPF6hq0kkov4O9b916PQ 1CheuUdzCWZ3l3WbP5P1OZGPPBWlWGl23K4EO9SMrAEXLBnsqj8G2BwQxYudM59AUWG8xmVpS AkEPzLMOFRs7/9QjuRU9dqJF+fRqR9lsMl1sb9rf9Tige/3qIOe+zALwvhav7WD9eqtdUslQC 8zES6cbWjp1sYirc0ZdnImpvXjb/bpXeFBGMskPhuNx95cnpsokZhCdNktdz2WmxEDxFJc02E 46g/tj3AUd2ccdTKBwZNGn15qzQoxgZ/bx1VLlhEEPwbAZyEnG90G+QsYe0Op8fDZi587/7iy Lc5niWi3WTFEcQvqCtElSd2MzvHimWwcpj/UG/AdjF2QVxEDiAv+fv/Ktp1+cJ48pMTkMKbL2 DGOk1ky51PAPx1w3ja8lkGu0/cXPJTGSlDRLt6UxHqvC9kQDzwflhozFJhIgz5eESS548JesX XtAJm7ST7Kf2nmFpXyCDMcIbrSdjyg4yMXyd1jK+6JUx9Ec9/V2PchHUwxJfNj5HWPvEuEHOO 0ZixZXv95EjenLdNvrUT3nKwtQdJs7F3UewTepGENQzCjHxfGVZcJRIcK9wxga4rCVE2JHomr BkVPc5rcBjTCTlnmdgkzdDvuRmN7PewAOs1S6+2l7RkwOmCg8AA8ly0DtetQYkmZ3CZ1WeWUO 0m962YUzzHtmUxkxvqVpphfz2fabztVQhATTf6Bw16NV3N+FPVr2pRj3pqBmE9L5JbgFPR6lG BEbYS3CLbYOxxzhcmSWwa9K5yrkjsmZo+yscorXdqVautqfykt/1ZT8bHyOJLRbvXZdCNbxEd dJRZSMm4nTUgSZUdRGJjj4fKUrE2W203XsI0qeuUlCNAZl71xSrzegIJGgF6/xlBq2kZyCYxP 7UYzFeP+HzPMdV6ihT4TRkY91lWP56wtDnFeUvpICAgIukVBPA74UBO0V/0UaotN+ka3I7645 McZnP7bH2P6rdvWv6Y1+HJwKKjRr6frgDAhMRicfpw5H+BfTNHgdJ0KodUkyBtZ2rz7Gz8FMS 0kPHjXDVQKOPIR3O2l+65lVxtBQiYsJJOjAedyf98vh4SprP32Z/2/GcigfLrV4kC9XHQW2Gn dCLltaUGaMZh8018uC0PFAaR9GkHWRqF6iuME4wu7 X-UI-Loop:V01:GURdPkIobfQ=:FofXWfsdNFqgA3OoWXWu1l0l2cco2AxpmQL0aivp2Wk= Status: R X-Status: X-Keywords: X-UID: 7295 Hello, friends. :) I'd like to add some humble points of view on the FSM discussion: What I usually do is a conversion from a NFA to a DFA and then apply a state minimization algorithm. What sometimes comes back to haunt me is the fact the in a DFA we have a transition function which has to be total by definition, so we might end up with a converted DFA which has 2^n states in the worst case, an the number of transition might end up being way greater than the number of states. This is not a problem in a DFA since we have a transition relation, but as the name suggests, we need to deal with nondeterminism. I think we have benefits and shortcomings in both situations. I'm pro DFA, but the construction is quite time-consuming. One possible alternative is to use a NFA and applying Thompson's construction or a similar algorithm, but it's been a while since I had fun with them. :) Knowing Bruno, he is probably taking all these performance tricks into consideration. :) After all, Bruno is the optimization master. :) All the best, Paulo