Commit Graph

198 Commits

Author SHA1 Message Date
Kyler Olsen 8e67857c95 implemented seed and rand 2025-11-29 14:12:14 -07:00
Kyler Olsen 2086ee503d Error fixes 2025-11-29 14:03:22 -07:00
Kyler Olsen b402f32e68 Added out of domain checks 2025-11-29 13:57:36 -07:00
Kyler Olsen b2e2b91f2c Implemented acos, asin, atan, cos, ln, log, sin, sqrt, and tan 2025-11-29 13:54:39 -07:00
Kyler Olsen f4a7627d7e Implemented abs 2025-11-29 13:48:17 -07:00
Kyler Olsen 9e0675cecc Updated build.py to always recompile meta.c 2025-11-29 13:34:34 -07:00
Kyler Olsen bfeb4c6444 Removed builtins that won't be done for the assignment 2025-11-29 13:34:08 -07:00
Kyler Olsen d7107b3fc5 Reworked division, implemented modulus and exponential 2025-11-29 13:14:30 -07:00
Kyler Olsen 3d419f071c Implemented addition, subtraction, and multiplication 2025-11-29 13:09:22 -07:00
Kyler Olsen 433cc3620a Division works 2025-11-28 23:50:37 -07:00
Kyler Olsen 2ddb0ca4d6 implemented drop builtin function 2025-11-28 23:31:27 -07:00
Kyler Olsen b935325eb4 The interpreter works! More builtins to be implemented. 2025-11-28 23:25:25 -07:00
Kyler Olsen ffc73e773c Added pushing tokens to the stack 2025-11-28 22:23:35 -07:00
Kyler Olsen 0bbb43d5a3 Worked on code execution 2025-11-28 21:59:15 -07:00
Kyler Olsen 521bd9907a Small fixes 2025-11-28 21:41:36 -07:00
Kyler Olsen d333cdfad5 Add meta header and implementation for version printing 2025-11-28 21:27:39 -07:00
Kyler Olsen 382842540a Worked on interpreter 2025-11-28 21:19:59 -07:00
Kyler Olsen c100bfcf7b Set up interpreter in repl 2025-11-28 20:50:06 -07:00
Kyler Olsen ba8aee6d78 Merge branch 'interpreter' into terminal 2025-11-28 20:35:02 -07:00
Kyler Olsen 390fc1981d Created Interpreter Interface 2025-11-28 20:34:52 -07:00
Kyler Olsen 95dba7e478 Added Hash Table Tests 2025-11-28 20:07:32 -07:00
Kyler Olsen 63541aac85 Finished hash table 2025-11-28 20:02:27 -07:00
Kyler Olsen 20434b20ab Worked on hash table initialization 2025-11-28 16:20:35 -07:00
Kyler Olsen e94d316af8 Worked on hash functions 2025-11-28 16:20:11 -07:00
Kyler Olsen 404588d491 Started hash table 2025-11-28 15:52:40 -07:00
Kyler Olsen fb4fe5ad66 Merge branch 'master' into interpreter 2025-11-28 14:59:06 -07:00
Kyler Olsen d8f5ad44b5 Added linked-list based stack 2025-11-28 14:58:15 -07:00
Kyler Olsen fd80b5f69d Lexing in REPL 2025-11-28 00:02:13 -07:00
Kyler Olsen 98f6ba8eab Merge branch 'master' into terminal 2025-11-27 23:06:34 -07:00
Kyler Olsen 8ff968d209 Converted to new build system 2025-11-27 23:05:10 -07:00
Kyler Olsen b0be7f0c0b Created a python build script 2025-11-27 22:53:28 -07:00
Kyler Olsen 528f5aa3ab Updated nmake file 2025-11-27 21:49:32 -07:00
Kyler Olsen dc6be59fab Started working on argv parsing 2025-11-27 21:38:24 -07:00
Kyler Olsen 46a855abd0 REPL function declaration 2025-11-27 20:33:21 -07:00
Kyler Olsen c9aceac591 Created repl and file handling code files 2025-11-27 20:21:32 -07:00
Kyler Olsen f3ae278e53 Added stack types 2025-11-27 20:15:25 -07:00
Kyler Olsen 08205ea6bc Noted tests failing under MSVC on Windows 2025-11-27 19:45:19 -07:00
Kyler Olsen a6cfe15a29 Getting ready for testing the full interpreters 2025-11-27 17:48:14 -07:00
Kyler Olsen 727f461fb6 Fixed lexing error inside token string not being on heap 2025-11-27 17:12:29 -07:00
Kyler Olsen 76a89fe03f Updated memory management in clean_token_string and clean_token_result functions 2025-11-27 17:11:42 -07:00
Kyler Olsen 3512f00f30 Added copy_token_string for properly making deep copies of token strings 2025-11-27 16:47:26 -07:00
Kyler Olsen 6f202602ec Made note of error to be fixed 2025-11-27 13:23:52 -07:00
Kyler Olsen 3a61e250a9 Worked on token_string and memory errors 2025-11-27 01:16:37 -07:00
Kyler Olsen 2a03107e94 Fixed memory errors 2025-11-27 00:24:11 -07:00
Kyler Olsen a080dbc2fb worked on token_string 2025-11-26 23:57:58 -07:00
Kyler Olsen b49130bce7 Clarified compiler instructions 2025-11-26 23:30:18 -07:00
Kyler Olsen 54a098a21f Made MSVC Specific Additions 2025-11-26 23:11:24 -07:00
Kyler Olsen 8db2b0f06f Fixed missing compile rules 2025-11-26 22:52:21 -07:00
Kyler Olsen bc4b65ed2c Worked on nmake on windows 2025-11-24 15:23:57 -07:00
Kyler Olsen ec36f36713 Added nmake Makefile 2025-11-24 15:11:55 -07:00
Kyler Olsen a193006061 Fixed warnings 2025-11-24 15:02:46 -07:00
Kyler Olsen febf34a737 TokenString Empty test passes 2025-11-23 23:58:03 -07:00
Kyler Olsen eacef33cf8 Fixed empty identifier error reporting 2025-11-23 23:50:21 -07:00
Kyler Olsen b2f4b8d850 Fail compilation on warning 2025-11-23 23:47:41 -07:00
Kyler Olsen d303995587 Adjusted error handling 2025-11-23 23:32:42 -07:00
Kyler Olsen d166eb5289 Updated test cases 2025-11-23 23:27:13 -07:00
Kyler Olsen 1566c7bf60 Tests are compiling and running again 2025-11-23 21:26:38 -07:00
Kyler Olsen ad26c41463 Got token_string tests converting to C 2025-11-23 21:07:25 -07:00
Kyler Olsen d2e990fe9b Fixes and cleaning up 2025-11-21 00:13:47 -07:00
Kyler Olsen ee8b7a8f45 Very important change 2025-11-20 23:34:03 -07:00
Kyler Olsen 58b5e61740 Added PROGRESS.md 2025-11-20 23:17:22 -07:00
Kyler Olsen 68665a82ae Whitespace doesn't break stuff 2025-11-20 16:43:24 -07:00
Kyler Olsen f2033e30e9 White space breaks stuff, but other than that its good 2025-11-20 15:42:40 -07:00
Kyler Olsen f8894ea4c0 Characters 2025-11-17 22:53:15 -07:00
Kyler Olsen ffe8008bb9 Fixed some tests 2025-11-17 22:12:44 -07:00
Kyler Olsen 77b43b9595 Float literals are working 2025-11-17 21:53:25 -07:00
Kyler Olsen 204a819b52 Add Implementation Mismatches documentation 2025-11-17 11:10:18 -07:00
Kyler Olsen 2d7616e7c6 Added extra tests for additional tests that are not generated 2025-11-17 11:04:03 -07:00
Kyler Olsen f52ea00c34 Added PRINT_SUCCESSFUL_TESTS flag 2025-11-17 09:19:05 -07:00
Kyler Olsen 74d53b3a8d Got all current tests compile now 2025-11-16 20:55:59 -07:00
Kyler Olsen 4398b3a4bc Worked on getting tests compiling 2025-11-16 20:34:38 -07:00
Kyler Olsen 690155b9a7 Added float and character tests 2025-11-14 17:22:45 -07:00
Kyler Olsen 60925dab53 Setting up float and character tests 2025-11-14 17:22:06 -07:00
Kyler Olsen db14867474 Added character token type 2025-11-14 17:20:09 -07:00
Kyler Olsen a62008a3e0 Updated test reporting formatting 2025-11-11 20:12:14 -07:00
Kyler Olsen 2ec9d1d1a9 Added basic tests for SlsStr 2025-11-11 20:11:02 -07:00
Kyler Olsen beae4f0b9d Refactor string handling functions 2025-11-11 19:51:40 -07:00
Kyler Olsen 2b44aad1c7 Merge branch 'master' into strings 2025-11-11 18:48:41 -07:00
Kyler Olsen cceedd2e46 Update CFLAGS and CTESTFLAGS to use C99 standard 2025-11-11 18:44:29 -07:00
Kyler Olsen 1617f6945a Fixes for string.c 2025-11-10 21:29:01 -07:00
Kyler Olsen 2ebe34a9a6 Updated to new string type 2025-11-08 01:02:01 -07:00
Kyler Olsen a5b119807d Implemented string helper functions 2025-11-07 23:31:19 -07:00
Kyler Olsen f3af20aa36 Started reworking strings 2025-11-07 14:31:02 -07:00
Kyler Olsen 40007c27a6 Renamed errors.h and separated bool.h 2025-11-07 14:29:33 -07:00
Kyler Olsen 329a71ca24 Worked on numeric literal parsing 2025-11-06 22:07:04 -07:00
Kyler Olsen 9f616d3e87 Added tests generator 2025-11-06 18:59:18 -07:00
Kyler Olsen 3b1e05241e Fixed and added more test cases 2025-11-06 16:16:24 -07:00
Kyler Olsen 681322ea2e Lexer can now do most integers 2025-11-06 14:44:57 -07:00
Kyler Olsen bf787f3cfe Added gdb debug to makefile 2025-11-06 14:33:51 -07:00
Kyler Olsen f91fe2793a Started numeric type parsing 2025-11-06 11:54:35 -07:00
Kyler Olsen c00ff5c798 Worked on lexing 2025-11-06 00:55:02 -07:00
Kyler Olsen 389890a7e7 Worked on tests 2025-11-06 00:54:52 -07:00
Kyler Olsen 6aad733263 Updated to test lexical errors 2025-11-05 22:48:07 -07:00
Kyler Olsen 3aa4af6577 Worked on making test cases 2025-11-05 17:03:21 -07:00
Kyler Olsen 98922385e8 Reworked how tests are defined 2025-11-05 16:40:41 -07:00
Kyler Olsen bc2247481b Extracted lexer test helpers 2025-11-05 15:20:11 -07:00
Kyler Olsen b121c1dc9b Updated header paths 2025-11-05 15:18:50 -07:00
Kyler Olsen c17a733790 Excluding interpreter main.o from tests linking 2025-11-05 14:41:45 -07:00
Kyler Olsen c1322874f1 Worked on lexer 2025-11-04 23:16:12 -07:00
Kyler Olsen 906a632fef Lexer tests working 2025-11-04 23:16:00 -07:00