Return-path: Envelope-to: lojban-list-archive@lojban.org Delivery-date: Tue, 26 Jan 2021 10:59:08 -0800 Received: from mail-wm1-f60.google.com ([209.85.128.60]:50212) by stodi.digitalkingdom.org with esmtps (TLS1.3) tls TLS_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1l4TYQ-004shf-9M for lojban-list-archive@lojban.org; Tue, 26 Jan 2021 10:59:08 -0800 Received: by mail-wm1-f60.google.com with SMTP id 5sf1805611wmq.0 for ; Tue, 26 Jan 2021 10:59:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1611687544; cv=pass; d=google.com; s=arc-20160816; b=rZ6IEWyQ6JJIlJV+WazJ3ujNfz7vbWbF3Yz+MpsK0EgHVG5KqnokmOWV5IUeM/5BH3 OmjdDStw03k8Wu14i5ZnugzccKRD8kILiy76UUAcM+ZzEQq40H64bIDLfjjdxZ/CV3Cy KQi691junkPyoWv7AeE8i1qx861Z4PvOfdcuR22Raw+I9wUBVcY7tUPloQ6+An0mu85y fswNS7HJvL6+bnJSRaI8CdNbcxvy24yjYPMVx9WZCWAa1/AeolgezaAPKsQYTmKDGLqp eL+x9bo2EyCr7H9BA/y486xQYTbpVczDtVk8UGSAz3yP4eTwUjT6giPsAm7Ly51+TF+e momg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:to:subject:from:sender:dkim-signature :dkim-signature; bh=bOye3pHgHvRDvTTQLLCj137C9LFWniYKI03MFs++Lpw=; b=Sl0XqrEa4MoizHkSejLWjT2KkOFDzYbN/QvgCFqZUBF8ma11fNWvuGCSckDasKNhvg BXku5bUCV4tI/Fz1pd0nvCm0jKvD5g7ZAfOtPC4/mue47t5AkXXNw8kIKV+d4WSBaU/k TyLtypzVZnn5FtFRnJ3pMJAnN/XidxnfzCCAsyGbT2DaEicmZuu+tyOv3gja2mDi4rqy 3tdVNKNON8YC5cuQcZ2kDc9HOUWfwngRbQCA8NNEFquYdmaGBooBohpXWY0z0FRZyGsc U+0WrLdypf7mksmIPnj1xMZ0tvvch6s4T+cWY0cYQfyQkBttO35j+pI3LEKXgxi+L36U gGow== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ExXSaBLf; spf=pass (google.com: domain of wow.jvs@gmail.com designates 2a00:1450:4864:20::52a as permitted sender) smtp.mailfrom=wow.jvs@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:subject:to:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=bOye3pHgHvRDvTTQLLCj137C9LFWniYKI03MFs++Lpw=; b=cYkXgIXkMpxqs2xWUMJmC2V6nGzGp0IlwUSxJRwIjih+GAOn/NpWZBG3e56sOMiiEv AZvPxKbZcFLw2BpRGxi7p9o1tFw6nUc3KDe7Ajolg/vbKEFUg0XW8TIEImsEZ6L0e+50 0NKoduEFtdBdWM88NYL/V2YUPHfVVZJVbnbSIiv8RRg/ttTUKsNAOgsLn1Pxb+oZfxmz 1EHT9fl7ohczMPytrBKfB7DXlfCsP/ZgGbDF6DOnZMJi3YQe4TsJUHpqjNla1Sveqb+u LN8VLjxKZUDuIIYU0IBzKzMouTYJ79ziA6FQ3osjm1qBcLKDmkNvokwOHMEUana7UhCY lT9w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=bOye3pHgHvRDvTTQLLCj137C9LFWniYKI03MFs++Lpw=; b=KFIN8abeG+hKQfHKDeIRe5s0g1yUWqIRv3195o/aCcMNVsQowgkGF0E1EarEtDljQY MQ4En5ljKVKWjSx4wbp4e8TAPhzIJhDm2G72Ljk9WlAPLcWcwCqTPUMUZp9KBheuZxcU gz7pV+7Yq4l3QRwahxIDHkX7UZ71Zno4iwg7VZUJaOfv95tY3BC4R6Vc+uyLPOsYaZmV +q6mp+j1f0fMHzHpbZtGdhb5KJiT65YBR10CqKCZ8CMSqyuxXKxNoEuIzWLi0PWQG3gm 6VBuR9z8ZdoMGVjzDGruTL1vy+EHHTmqL4UCoO8gDZlShnAw2uUFA8ZvLaCYcyaJpso1 LApQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:subject:to:references:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=bOye3pHgHvRDvTTQLLCj137C9LFWniYKI03MFs++Lpw=; b=pG4Ht9ZG8T4FttqfpzLSEWisnmDvGo0yMa8Q5JJZkqIdLlCLMBM9B5UwPrygBxxL5r rkMP7xvKOpwWGGJZw9+4SkJGJFN9PPEZ9yUCHMzOjSZggL6nlH38JO4KbLPYgNROMYT2 j3BQSbmBmDm1xBncB4Hw1JzEVVBSXHbJGuXi9sFUI+bOIp2eqtUXczWDBIta1pjf8fAZ 9uLAtvPDqa+2mGw4DKZOGbwBJ9gKBzTpLl9TD8Kmn1q7fcu8eCTAo4uLnRiI9BKtaSZe 5GwASyxXM8kx0hWf2o2idL8BtWxKMEXcR+ThvENoJ+sKeyHyXAIGMMgu1hxKDvTIPnvA fDww== Sender: lojban@googlegroups.com X-Gm-Message-State: AOAM53350yLEBFIWja7Y4kusmQousmvlVzkXeQpYriHb9tiIv4DjUQUd O09BaZKkXCG8Rx4oRZ2zPek= X-Google-Smtp-Source: ABdhPJz+SxUAjE8pplEkyNMv3rm1K6uohFo3UEBprFyft71r2EqVB7fDtFOp7riZ4CIbh2Ek0EcZQw== X-Received: by 2002:a5d:68c6:: with SMTP id p6mr7606390wrw.332.1611687544588; Tue, 26 Jan 2021 10:59:04 -0800 (PST) X-BeenThere: lojban@googlegroups.com Received: by 2002:a1c:60c2:: with SMTP id u185ls1731856wmb.2.gmail; Tue, 26 Jan 2021 10:59:03 -0800 (PST) X-Received: by 2002:a1c:9a4d:: with SMTP id c74mr963299wme.73.1611687543362; Tue, 26 Jan 2021 10:59:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611687543; cv=none; d=google.com; s=arc-20160816; b=DHhzXvc2SAMaVyRU0eZAGDrlqT0fU0BxwyM23lVJ8LCg93HmJLkKJ/qj6JDg1LBwSp K8hhjMa1yUxsQUmjDz1sZjk7eBZ988fRuK7bfeqfrSljRO188vLIew8pTTN6MR+K3Ql3 rD5y2sELeWI3CTFP2PG15AI6jJvurrbQUau8GHnbHw3VSuiu78uJDo6pb5v7ju7qGHQT R8eodCIY7E7lar7RY+Nc09C/E818yVR4kFVpYAKrcLwdYe6VoGok1ibCjY9DEdwt6ECz Sw/Sifn5elgDR4/26JwzrNhGUz3/bgvNiwdOZ3dcPjH/XQNzpZYhkFDNLdSkHbxMwGa7 m7qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:references:to:subject:from :dkim-signature; bh=PC/N9jiQdTXWctpnhPbNGpGgfhmx1VUTxgaVfK1mlGQ=; b=T3YV1KviMBeJfr7e/3/7ZLWBySDjHEBSTianYcGz/zueCwzIJjtczthlMxKevObCxB ChJuZszdt0uPfa4nUhsuvzq9EcBjIbdeIxEd0bsb6mASiyQKW0sSuSqxhiorBx5xcyDq iqJIZxA1zcj477fFzrthos1kQgFp0uGbZ2VzIYb1ouS0kLdfCY3ve6BVW7Uav6X9xO5K uHZoAMLbuR+sC8kn1Dd5yzZ1GtyH5lhwS9VljKdZnoBnZbLtth6ZB96Udz48BrVsoU25 smKR0dIiLLTUikM4L/9ZcXzoxHoYM+ogtzbNQCK5hL4IDswTZeKvWw9B2P42HUKm4OmY hlSg== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ExXSaBLf; spf=pass (google.com: domain of wow.jvs@gmail.com designates 2a00:1450:4864:20::52a as permitted sender) smtp.mailfrom=wow.jvs@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com. [2a00:1450:4864:20::52a]) by gmr-mx.google.com with ESMTPS id m2si196531wmm.2.2021.01.26.10.59.03 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 Jan 2021 10:59:03 -0800 (PST) Received-SPF: pass (google.com: domain of wow.jvs@gmail.com designates 2a00:1450:4864:20::52a as permitted sender) client-ip=2a00:1450:4864:20::52a; Received: by mail-ed1-x52a.google.com with SMTP id g1so21077712edu.4 for ; Tue, 26 Jan 2021 10:59:03 -0800 (PST) X-Received: by 2002:a50:d604:: with SMTP id x4mr5725278edi.64.1611687542894; Tue, 26 Jan 2021 10:59:02 -0800 (PST) Received: from [10.41.28.125] (77-59-125-39.dclient.hispeed.ch. [77.59.125.39]) by smtp.googlemail.com with ESMTPSA id cy13sm13038931edb.27.2021.01.26.10.59.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 Jan 2021 10:59:02 -0800 (PST) From: mezohe Subject: Re: [lojban] questions about camxes PEG grammar To: lojban@googlegroups.com References: <86h7n66pji.fsf@cmarib.ramside> Message-ID: Date: Tue, 26 Jan 2021 19:59:00 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <86h7n66pji.fsf@cmarib.ramside> Content-Type: text/plain; charset="UTF-8" Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Original-Sender: wow.jvs@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ExXSaBLf; spf=pass (google.com: domain of wow.jvs@gmail.com designates 2a00:1450:4864:20::52a as permitted sender) smtp.mailfrom=wow.jvs@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Reply-To: lojban@googlegroups.com Precedence: list Mailing-list: list lojban@googlegroups.com; contact lojban+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: lojban@googlegroups.com X-Google-Group-Id: 1004133512417 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -3.4 (---) X-Spam_score: -3.4 X-Spam_score_int: -33 X-Spam_bar: --- 2021-01-24 21:36 scope845hlang343jbo@icebubble.org: >=20 > le preti xi re pi'e ci zo'u: >=20 > {za'a} The PEG grammar, in several places, uses constructs like: >=20 > pehe_sa <- PEhE_clause (!PEhE_clause (sa_word / SA_clause !PEhE_claus= e))* SA_clause >=20 > cehe_sa <- CEhE_clause (!CEhE_clause (sa_word / SA_clause !CEhE_claus= e))* SA_clause >=20 > This is an idiom which appears repeatedly in the PEG, but there is no > explanation for what this is doing or why. >=20 > {.e'u} Some higher-level explanation of how erasure words are handled > would be helpful. >=20 The CONSTRUCT_sa rules are meant to match the text that a {sa} deletes followed by the {sa} itself. For example: {nelci fa do ce'e ti pe'e je mi ce'e ta sa pe'e je mi'o ce'e ta} =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0^------pehe_sa------^ Though CONSTRUCT_sa itself doesn't limit what comes after it, it is only referred to at the beginning of the corresponding CONSTRUCT rule, which ensures that what follows is something that can start the same kind of construct that starts the deleted text. The negative lookaheads are there so that only one "jump" "back" (of course, the parser actually speculates about SAs basically everywhere) to the closest start of a CONSTRUCT happens. SA implemented in this way is flaky (for example, {sa sa}, instead of deleting a longer text, works like a single {sa}), and it's buggy in all camxes versions that I've used. In ilmentufa camxes, for example, sa-deletions can't include zei-lujvo or bu-letterals. SA handling in PEGs other than standard camxes is even more broken or has been fully removed. >=20 > le preti xi re pi'e vo zo'u: >=20 > {za'a} The PEG contains many non-terminals of the form > "_clause", "_pre", "_post", > "_sa", "pre_clause", and "post_clause", but there is no > explanation of what this is doing or why. >=20 > {.e'u} Some higher-level explanation of the conventions used for > naming the non-terminals, and how they interact, would be helpful. >=20 "Clause" in camxes means a word together with any free modifiers before (pre_clause) or after it (post_clause). pre_clause handles only BAhE. post_clause handles SI and indicators, and prevents parsing of parts of zei-lujvo and bu-letterals as their usual selmaho. I think the grammar uses individual SELMAhO_pre and SELMAhO_post rules, instead of using pre_clause and post_clause directly in SELMAhO_clause, only as a relic of an earlier, now removed, way of handling SA. Another relic of this is the name of any_word_SA_handling, which no longer has anything to do with SA. --=20 You received this message because you are subscribed to the Google Groups "= lojban" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to lojban+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/= lojban/d795ff9b-9857-eeed-d128-ae141a482266%40gmail.com.