Commit graph

21 commits

Author SHA1 Message Date
Kenny Root
1086e7374d Add bitwise operators
Add in bitwise AND ".&.", OR ".|.", and XOR ".^."

Add arithmetic left shift "<<", arithmetic right shift ">>",
and logical right shift operators ">>>"

This retains the original parsing of something like "9.^.5" to be
interpreted as "square root of 9"  However, "9.^. 5" is interpreted as
"9 XOR 5".

( The number parsing code moving to parse_number() is the only
  significant change in adapting this extension to the new server;
  the original behavior of the extension is retained in this commit
    --wrog )

Change-Id: I99291bed3d07d68ced204ea27bf684dc09a861fc
2025-09-30 23:04:53 -07:00
H. Peter Anvin
5c191b7445 signed vs. unsigned + misc nobrainers (1a / Type handling cleanup)
(phase 1 = changes having nothing to do with introducing [u]int*_t,
missing headers and adding/fixing function prototypes,
Num-introduction, float-unboxing, autoconf, or the new math builtins.

--wrog)

was:
- use C99-like macros for printf
- use [u]int*_t types (autoconf can verify they exist)
- abstract Num and Objid out
- default to 64 bit integers
- un-pointerify floating-point numbers (makes no sense on modern hardware)
2025-09-30 23:03:40 -07:00
Roger Crew
69bdbc67ff signed vs. unsigned (stmt_to_code) 2025-09-30 23:03:40 -07:00
Roger Crew
84c228322a advance module .h files
include foo.h should generally be the first thing in foo.c
if the file defines register_FILE function, bf_register.h is next
2025-09-29 00:44:47 -07:00
Roger Crew
32dd7127d5 function prototype and missing header fixes 2025-09-13 14:53:30 -07:00
Roger Crew
dc99267723 mark fall throughs 2025-09-03 22:11:59 -07:00
Roger Crew
0cc95c3f6c remove trailing whitespace, fix comment weirdness, Makefile refill 2024-12-30 03:04:09 -08:00
Roger Crew
bd0aa66cf0 cvs log keep PARC entries only
All of the Sourceforge-era log entries are in git
so there's no point to having them repeated in the files.
2024-12-30 03:02:52 -08:00
Roger Crew
6ae0d3b667 cvs log reconciliation 2023-08-17 09:06:46 -07:00
Roger Crew
24f61b0828 Fix compiler warning: f.pc uninitialized in capture_label 2010-04-23 15:32:23 -07:00
xplat
45ec5a4295 GNU indent normalization. 2002-09-15 23:21:01 +00:00
bjj
3d90f823b3 Removed a spurious EXPR_INDEX case left over from before x[$] 2002-08-23 13:00:18 +00:00
bjj
7fbf98e256 Code generator will no longer PUSH_CLEAR things like dobj/dobjstr/prepstr
around CALL_VERB operations, since those variables are passed directly
from one environment to the next.
1999-08-14 19:44:15 +00:00
bjj
10dc7c2272 Consider OP_FORK a nonlocal goto so that no variables are undefined
when it happens (the saved environment has to be complete for the forked
task).
1999-08-12 05:40:09 +00:00
bjj
083d11d2d2 Fix problem with last checkin which prevented compiling without B_R_R, duh. 1999-08-11 07:51:03 +00:00
bjj
30de78a6ae Bug fixes to v1.2.2.2, BYTECODE_REDUCE_REF. Code analysis now takes
into account what opcodes are running under try/catch protection and
prevents them from becoming PUSH_CLEAR operations which may result
in spurious undefined variable errors.
1999-07-15 01:34:11 +00:00
nop
c8db442950 Merge UNSAFE_OPTS (ref fixups); fix Log tag placement to fit CVS whims 1998-12-14 13:17:26 +00:00
nop
fa306b4cdc Initial string interning during db load. 1998-02-19 07:36:16 +00:00
nop
4e8941e8c2 Merge UNSAFE_OPTS (r5) after extensive testing. 1997-07-07 03:24:53 +00:00
nop
9cf5366eb0 GNU Indent normalization 1997-03-03 04:18:21 +00:00
nop
a515162931 Initial revision 1997-03-03 03:44:59 +00:00