Commit Graph

  • 964034b203 fix: updating arena and arraylist use main laentropia 2026-05-14 08:36:21 -06:00
  • 9ea1da549f Merge pull request 'refactor-error-handling' (#12) from refactor-error-handling into main Alonso Adrian Martinez Hernandez 2026-05-13 19:05:54 -06:00
  • ab791dbc9b fix: tests and main laentropia 2026-05-13 18:48:14 -06:00
  • 3ec73559ee refactor: evaluator separated into evaluate bin and un laentropia 2026-05-13 18:06:01 -06:00
  • b56a368244 refactor: bp funtions take tokens now laentropia 2026-05-13 17:48:03 -06:00
  • 6294121e91 refactor: nud and led have differetn responasblires laentropia 2026-05-13 17:35:52 -06:00
  • 70ab06964c addtition: nud and led token to node distinction laentropia 2026-05-13 16:09:03 -06:00
  • 90c426f3a4 refactor: moved NodeResult to TreeResult laentropia 2026-05-13 12:19:17 -06:00
  • efa0e3bacd refactor: evaluator incomplete. laentropia 2026-05-13 12:13:07 -06:00
  • 542a94ef81 refactor: All of parser.c laentropia 2026-05-13 11:09:22 -06:00
  • 80e05a9acf refactor: changed parser.h, added Node laentropia 2026-05-13 10:02:55 -06:00
  • f3373123e1 refactor: adapted lexer to work with new tokens laentropia 2026-05-13 09:49:28 -06:00
  • 2a73f5f9d6 refactor: delete ASTNode, add Token to lexer laentropia 2026-05-13 09:37:15 -06:00
  • e3d64596ab Merge pull request 'refactor-lexer' (#11) from refactor-lexer into main Alonso Adrian Martinez Hernandez 2026-05-12 20:08:39 -06:00
  • 56c80fa071 addition: Managing of parenthesis laentropia 2026-05-12 20:04:41 -06:00
  • 7f390a8c6b addition: postfix operator capability, may work laentropia 2026-05-12 19:40:42 -06:00
  • e30b3d7175 addition: proccessing of prefix op laentropia 2026-05-12 18:33:52 -06:00
  • 59f99059bb refactor: changes and additions ot parser laentropia 2026-05-12 18:15:36 -06:00
  • c41847e120 refactor: rewrote tokenize and modified ohter funcs laentropia 2026-04-30 21:34:27 -06:00
  • f2c906c6aa initial-commit laentropia 2026-04-30 10:40:17 -06:00
  • fee33ff1f0 Merge pull request 'refactor-generic-array' (#9) from refactor-generic-array into main Alonso Adrian Martinez Hernandez 2026-04-30 10:05:21 -06:00
  • ac2e783ccc fix: tests and implementation of lexer laentropia 2026-04-30 09:58:27 -06:00
  • 630d9f53e1 test: changed lexer tests laentropia 2026-04-24 09:36:03 -06:00
  • b7e1cdf3a6 refactor: made parser work with arrayslices and new result types laentropia 2026-04-24 09:06:47 -06:00
  • cef046f7db refactor: changed string to int adn tokenize number laentropia 2026-04-24 08:09:31 -06:00
  • 19c84c382b refactor: changed funtions definitions, modified tokenize laentropia 2026-04-24 07:17:35 -06:00
  • 855d683005 addition: Resul structs for rework laentropia 2026-04-24 07:02:00 -06:00
  • 576bcd9504 addition: starting to refactor NodeArray into ArrayList laentropia 2026-04-23 15:37:16 -06:00
  • e6420cb1c9 add/fix: Added arena implementation and cmake rework laentropia 2026-04-23 12:39:04 -06:00
  • f50546bd07 Merge pull request 'feature-AST-using-arena' (#8) from feature-AST-using-arena into main Alonso Adrian Martinez Hernandez 2026-04-23 12:34:30 -06:00
  • c99f307827 Merge pull request 'feature-AST-using-arena' (#5) from feature-AST-using-arena into main Alonso Adrian Martinez Hernandez 2026-04-13 08:58:47 -06:00
  • 7ad4eba123 fix/refactor: Modified evaluate and changed it to evaluate_tree feature-AST-using-arena laentropia 2026-04-13 08:44:30 -06:00
  • e4ec102cb9 rework: AST now uses an arena for allocation laentropia 2026-04-13 07:57:36 -06:00
  • fb27e1e34c addition: added arena library to this shit laentropia 2026-04-13 06:40:31 -06:00
  • ef8cf84456 addition: added arena library laentropia 2026-04-11 22:41:19 -06:00
  • a486ed62f4 Rework: moved ASTNodeArray logic to it's own c file LaEntropiaa 2026-03-26 10:01:17 -06:00
  • 4cddb24405 Changed evaluate function to free the memory it uses, temporary, will be changed to use a sigle arena for the tree LaEntropiaa 2026-03-26 09:25:40 -06:00
  • 1ce64d8e9e Fixed many minor things, tested it on main and is amazing, i think i need to start adding fractions next so further testing can be done with more powerful operators LaEntropiaa 2026-03-25 12:25:15 -06:00
  • 92d142b9cf It works, basic but works, need to move out logic to places, like ASTNode array shouldn't be on the lexer or future logic for fractions and error handling in the evaluator. Just the things at the top of my head LaEntropiaa 2026-03-25 11:30:12 -06:00
  • 845673fb0e FUCK YEAH, it works, it was the is_valid thing fo slices that was inverted, did the test by brute force and damn, is the expected AST LaEntropiaa 2026-03-25 10:22:54 -06:00
  • f24671bd19 well, nothing works, at least there is something to debug LaEntropiaa 2026-03-25 07:43:00 -06:00
  • f11b6f8c12 print funtion added, not tested LaEntropiaa 2026-03-25 06:59:52 -06:00
  • 17be815ed0 Done with helpers, need some function to actually print the tree and see for myself if it works wit simple symbols LaEntropiaa 2026-03-24 21:51:28 -06:00
  • 7d28b69790 added parse, just need a few more helper funtions to start testing some things LaEntropiaa 2026-03-24 21:44:08 -06:00
  • 0d883ae978 WOW, finally making some sense, i think i get it, finally got the skelleton, gonna keep reading for adding more interesting things and doing things right, for now i think i got the parse_expr LaEntropiaa 2026-03-24 21:36:14 -06:00
  • acd5e9781e DAMN, i still don't get it, i really don't want to ask some AI to do it but damn, i'm finding it REALLY difficult, is like the 4th article i read, i hope this is the one and that i can get going for fucks sake LaEntropiaa 2026-03-24 21:04:36 -06:00
  • 27787308f2 Read a pratt parsing article, i think i can do it, got nud and led the right way i think LaEntropiaa 2026-03-24 11:19:47 -06:00
  • 6377515558 Starting with the lexer, i'm starting to comprehend better what pratt parsing is and how to apply it. For now just declaring basic structure and functions LaEntropiaa 2026-03-13 07:58:38 -06:00
  • 903fdbd6ff I think i'm done, lexer works fine and errors work fine too, amazing actually, should be moving on to the parser so that i can construct the expression tree LaEntropiaa 2026-03-10 07:27:35 -06:00
  • 73451fcca9 Damn, it works, the lexer actually works, that's amazing, need to test the bad cases but at least i'm sure it can detect and process correct math expressions LaEntropiaa 2026-03-10 07:08:12 -06:00
  • 0de6cf5024 Modified the structure of the lexer, now is more easy to add types of numbers like fractions, like i could enev consider roots, irrationals, complex or imaginary, that would be dope. For now only support for integer, we need to get this shit running LaEntropiaa 2026-03-09 11:58:55 -06:00
  • afae8fbe3a Made the arrangements for the mentioned changes in the last commit, for now just integers but IT WILL be capable of handling doubles as fractions LaEntropiaa 2026-03-09 09:23:06 -06:00
  • 771069455d First version for string_to_number, just one test, is working fine, i'm considering swithching to handling only integers for in the future to manage in special struct that manages doubles as fractions, obviously this will mean changing nodes for general numbers to integers/fractions and shit LaEntropiaa 2026-03-09 09:06:06 -06:00
  • 194f1dd80f Second test, just pop, almost identical to first put important for asserting pop works because it is very needed LaEntropiaa 2026-03-05 10:20:44 -06:00
  • 79f7e327ff First test added, changed signature for using pointers beacause i forgot you can't actually change a parameter because c copies everything, stupid from me to forget that LaEntropiaa 2026-03-05 08:27:36 -06:00
  • 3126be5782 Added functionality for the basic array functionality, i'm going to make tests even thoug they are tedius as fuck, i'm way more interested in making tests for the lexer itself LaEntropiaa 2026-03-04 19:30:56 -06:00
  • adaf5c012f Redesigned everithing so that everything is cleaner and not making everything all messy to fix later, still, ther may be redesigns and shit but should be fine LaEntropiaa 2026-03-04 18:54:46 -06:00
  • 317e9f3b6b Jut setting all up for the calculator LaEntropiaa 2026-02-28 13:59:02 -06:00