From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:1008:1e59::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id aFG9KY0M8mUWUAEAbAwnHQ (envelope-from ) for ; Wed, 13 Mar 2024 21:29:01 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id oB3kJo0M8mWfHQAA62LTzQ (envelope-from ) for ; Wed, 13 Mar 2024 21:29:01 +0100 X-Envelope-To: patches@johnnyrichard.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=kg8AKQF4; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b=ngxLbTdd; 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=1710361740; 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=RLzXykPBhyFubrfny0g+hALmq20rzMSTRGmHDf04vh8=; b=iCAkU20qUePRrxbfOXVQKmlA8f0jhIGWzVXaiLXV8uO/m+3Llggh5wD/sgY+cSnKFIeDjW vU8pGDiVtBSYrWk0HI8eWCCGqbTycUVhlzHboT3EDHu5+6oxFCYqEJXi7Xe+nMhFUh98Yj BOFWz0WqakNZJrH5EDlR8b4+94J03By8QlIwxQd374WT6l+qLrdli1/JoAXGUMIzZl7qls 6eqNwb2H2Ya1HOe0izH91G1if9VKiGkt8uGzi39hz3k2OG4HlqG//j6IgnoE8oHunrPfFp YQnEtj8ThLmTSs447bOCrM5XV69jr9DNIFciZ21ck1loOy9zMahWOv/QtwiZUg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=kg8AKQF4; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b=ngxLbTdd; 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-Seal: i=1; s=key1; d=johnnyrichard.com; t=1710361740; a=rsa-sha256; cv=none; b=HEM+dhQLBmlxt8ne+hW+LSYQL/d8Z8CXWlit0x2i5CxDBaP6SUkRaa67GEX9w3wzWu9bWX ZTkA8Lj2az0uVhy17rVuwuquuxdB+0n2k3fecSRMP42Ws0xWDaYfdflC51sn8hKAwh3+XL +UddnSpVyYgzbb5cSzg/5fkFYoo8zlOQtWcDx2YqSKnUQv5s+zb09IOmVs/EnRlC1U+5Vs gXMYoacGkhbQsYRcfDw2ISUhtfD0DpI0c67k3NEv3ZcRTYKZO/UYSbkfnTUEfw7jJYknXi qqm2KyQhbjkrkFW98vAWe7sTt6qKiO0b41iCHUXLUheLWtVNe4SrjxiWS0mF4w== 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 371101185A for ; Wed, 13 Mar 2024 21:29:00 +0100 (CET) DKIM-Signature: a=rsa-sha256; bh=L8gtM1PSNdNYA8y69Qx4tAVlfqKMFvt+AK8rQMgRczw=; 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=1710361739; v=1; b=kg8AKQF4cmmmQuVeCqxTmQqJymot7x3N0l5s1EWAjqNeOQjwgxlEdyfGHQ2jpOdhQddv53bo XF2i0U7znSrw3OsEzVsi4pFZRuAPEE+chmKITzAWQE93V+95Qag8j3N09hn2MK7Zx14H35d4VAm k3JFHXr4ATLMuaHkHI0Z7xtsDzwAjRAAcqipPSnL9YBSGFhQy3T4NFGTS8KrybketAgnWLC/mU3 sJ4GsTi+/LP5ZWpQ8xwDwcT4OI/60ylgnS8mDrpDBH1WdDJ4SY7XFsPRp2wNhAgs6oPC6Muz4uz 2T7wOq35VfHOsH6suN1wo21irzTofMteM6UuCE0CuISCw== Received: from lists.sr.ht (unknown [46.23.81.154]) by mail-a.sr.ht (Postfix) with ESMTPSA id 48D1620284 for ; Wed, 13 Mar 2024 20:28:59 +0000 (UTC) Received: from out-177.mta0.migadu.com (out-177.mta0.migadu.com [IPv6:2001:41d0:1004:224b::b1]) by mail-a.sr.ht (Postfix) with ESMTPS id A3C5D20261 for <~johnnyrichard/olang-devel@lists.sr.ht>; Wed, 13 Mar 2024 20:28:58 +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=1710361736; 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=RLzXykPBhyFubrfny0g+hALmq20rzMSTRGmHDf04vh8=; b=ngxLbTddKm/Lmp5fR4JkyEn2scEs5NXo58ZYIYeOWRL5mw8OzRLHMGkdyiHGqMVs4ycbLq vxbaACIk0WeiimxNqVI9owPS7eBKkhgqeJfBoR9q+xCow6T/J9PCmZGNbE4Ht/PNdTJspW jy2U8ub7dJnOJSGlqL6VOR5S/YtcGBr8NGF/xda5Eee+mXR7pjS460VH+FwqdbiDotjQzG EH/97pzsY6iY2LmyoRKkSoXS6utS1eli9i+fz5ZwPNClfESIQsHs76RcKJhuWnb7+JJ5bu 7f0ftVa4WLsgLcrbsQzWMB+x99hFUGnKik6L5hZJZIsyiIVoANElAtTyKPqn6A== From: Johnny Richard To: ~johnnyrichard/olang-devel@lists.sr.ht Cc: Johnny Richard Subject: [PATCH olang v1 0/3] frontend: add basic arithmetic expr support Date: Wed, 13 Mar 2024 22:21:49 +0100 Message-ID: <20240313212855.174554-1-johnny@johnnyrichard.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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: -9.07 X-Spam-Score: -9.07 X-Migadu-Queue-Id: 371101185A X-Migadu-Scanner: mx13.migadu.com X-TUID: 2Rfmk5la7nhM This patchset implements the frontend for parsing basic arithmetic expressions. The backend implementation is not implemented on this patch series. Johnny Richard (3): lexer: add tokenize support to '+' '/' '*' '-' ast: create binary operation ast node parser: add basic arithmetic expressions '+' '*' '/' '-' examples/expression.ol | 3 + src/ast.c | 14 ++++ src/ast.h | 20 +++++ src/lexer.c | 24 +++++- src/lexer.h | 4 + src/parser.c | 140 ++++++++++++++++++++++++++++++---- tests/integration/cli_test.c | 56 +++++++++++++- tests/integration/proc_exec.h | 3 +- 8 files changed, 247 insertions(+), 17 deletions(-) create mode 100644 examples/expression.ol base-commit: b34e6e1e8dde2852c2d1b050b6ac882605959180 -- 2.44.0