From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id uP1CES9nHWYRmwAA62LTzQ:P1 (envelope-from ) for ; Mon, 15 Apr 2024 19:43:11 +0200 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id uP1CES9nHWYRmwAA62LTzQ (envelope-from ) for ; Mon, 15 Apr 2024 19:43:11 +0200 X-Envelope-To: patches@johnnyrichard.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=cSgI7yA9; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b=m7EylUd6; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=quarantine) header.from=johnnyrichard.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1713202991; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:list-id: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=/pHg2Y68okPZMLLHUg8Squ8b5FSTQaiSTHD+4bSHaAo=; b=jiJugxvfex1UX+1NJLJHsWOK8rWEjfhfo9McxS5hhQ9EyN8pin3VKTs7+US8qLIZsMYlsX aiKRrSbHMEZ9T/Mv9J90AI8+0fY0J2tRWTft+0xtJKJoXsdITQlNmO03Zn8061mZAb14YA pIygPnxj/yY0fTwe58C1xCHsvPIHTNb79srWE5k0HKorjCsFzTRBOk9EwoLYkxy4X1E5jL cbaepcycmTzaO0H0CFprjJ5LbfW6n95nhy0jRaaoYZ80ShvV+VurRWSrDqVu4lFpXV8Cbm Sx47d3ISUB4qL0HP/cHaDZ3EKJiWRXId2scgJUbs51yF/H2VEBsjJQJePHUvxQ== ARC-Seal: i=1; s=key1; d=johnnyrichard.com; t=1713202991; a=rsa-sha256; cv=none; b=MYu/QcICN+zjfzNo9UKcg4c2y1DHGG4mDcNucf2HhY67PhQTPqRJSB79PyvSvX2r5QGqO/ v0lfm0ddDKijyudIb9vqJPh9NXKwXHIbU3TRVw4tit1eDYNlFkfXcp2bkAHg11P/Ih/SEF hud9no+A2o4lL9fGp9diZV8g1AWzqjMkSR8V7j7OgF2/8WlzlygDKy44v4P1mrctRz0w3T KuuJpoayByfqTR71HPivaq96KtqC/WbyaQxjBzHZYNSIo88iLDSqcLGSYCSjMl+1EeYClG /i/NR2BeMo7GUfNeTDPqo80JdBe2mZ+ls4xdjI0QZ36q08wRo2Lu/piTQKv33A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=cSgI7yA9; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b=m7EylUd6; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=quarantine) header.from=johnnyrichard.com Received: from mail-a.sr.ht (mail-a.sr.ht [46.23.81.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BE97E1B2B0 for ; Mon, 15 Apr 2024 19:43:07 +0200 (CEST) DKIM-Signature: a=rsa-sha256; bh=HUCEfR+n9gm7i1uHQi1hnmfAZ+jkIAEgaeS55qPf/9A=; c=simple/simple; d=lists.sr.ht; h=From:To:Cc:Subject:Date:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-ID; q=dns/txt; s=20240113; t=1713202987; v=1; b=cSgI7yA9DIrae1TZbe0thTn15e5To0UMi5VfbOMb+X7ZuP4iCLQVtiFHX1Fu7qWQ2hpttbkn wn4tB0mQsg/Yss7lee+kWuLbSgbpj5QZN+yyoDw9UbfYN6u9qX+WLURnh3v4WdufEsNWyPE9MtN /8dZ01a+pWVE43Xc7pOPDTee6JRzTv8nSxjsQ+SloY9DULaoE0xk63ojQ2r4fYqxBUAJUEpuDsg QFy5RdbDoa31QVt1450rfrHqRMppoH/jrDSCNOgmYA6W5lgtq5GMUsRMVh6W4ZZBNGMU02znypX TrDPCzlYD4MtXMiyI3YePutFd6cR7OSKhZS1dNzJpVX+Q== Received: from lists.sr.ht (unknown [IPv6:2a03:6000:1813:1337::154]) by mail-a.sr.ht (Postfix) with ESMTPSA id 69FCF202BA for ; Mon, 15 Apr 2024 17:43:07 +0000 (UTC) Received: from out-186.mta1.migadu.com (out-186.mta1.migadu.com [95.215.58.186]) by mail-a.sr.ht (Postfix) with ESMTPS id B3B372029A for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 15 Apr 2024 17:43:06 +0000 (UTC) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1713202986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=/pHg2Y68okPZMLLHUg8Squ8b5FSTQaiSTHD+4bSHaAo=; b=m7EylUd6UqVEck51f43UtB6jXNScFHLWieTnfdYBXTYXMV/1dThSd21Sf/Y0mch7BLdtxW 8n+GFZhQYD+Zyxm4qHlVk/r0VewwsYKBZ1y89LFQWyYzeNHTlzpk3bO7yuWV7em88kQEow qIvnzN2KES2fOLjTAllum9tpEUUyC2srsg9BCE0ad2gOFInmeBy31OMPhIAm7veCPSE6od cgXXPJq+QXF+vDs/lVjJRSKfV1ZBSntTeJhM4WoiHx6+jqw1c7n2B/D0C08vuiizlVYbVI v/0R8bQdKPbSpCUTlz4d3/aMZPtuLBJzd3OtSwKVAYMmuI8/uAi3Dsx7ETnimg== From: Johnny Richard To: ~johnnyrichard/olang-devel@lists.sr.ht Cc: Johnny Richard , Ricardo Kagawa Subject: [PATCH olang v1] spec: ebnf: add binary expressions Date: Mon, 15 Apr 2024 20:20:24 +0200 Message-ID: <20240415184116.140292-1-johnny@johnnyrichard.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Sourcehut-Patchset-Status: PROPOSED List-Unsubscribe: List-Subscribe: List-Archive: Archived-At: List-Post: List-ID: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel.lists.sr.ht> Sender: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel@lists.sr.ht> X-Migadu-Flow: FLOW_IN X-Migadu-Country: NL X-Migadu-Spam-Score: -8.96 X-Spam-Score: -8.96 X-Migadu-Queue-Id: BE97E1B2B0 X-Migadu-Scanner: mx12.migadu.com X-TUID: iqGjyBRgjq3/ The parser already implements binary operations, but currently we are missing it on the language specification. This change adds the already implemented binary operations grammar and also enables expression with parenthesis. It's important to mention that the precedence was highly inspired on C. Signed-off-by: Johnny Richard --- Ricardo, this is the missing spec I mentioned on your reply on variable PATCH[1]. Let me know if this change make sense. NOTE: This PATCH has been implemented on top of the commit mentioned (base-commit) in the bottom of this PATCH. [1]: Message-ID: docs/pages/language-specification.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/pages/language-specification.md b/docs/pages/language-specification.md index 4d0eb36..ff0a215 100644 --- a/docs/pages/language-specification.md +++ b/docs/pages/language-specification.md @@ -46,7 +46,22 @@ language. ::= 'return' (* Expressions *) - ::= | + ::= + ::= + ::= ( '||' )* + ::= ( '&&' )* + ::= ( '|' )* + ::= ( '^' )* + ::= ( '&' )* + ::= ( ('==' | '!=') )* + ::= ( ('<' | '>') )* + ::= ( ('<<' | '>>') )* + ::= ( ('+' | '-') )* + ::= ( ('*' | '/') )* + ::= + | + | '(' ')' + ::= ::= '=' | '*=' base-commit: 7cd840ea689751643d2dd022b81d12d9581800cb -- 2.44.0