Commit graph

  • 81d6850539 addition pommicket 2022-02-11 14:34:54 -05:00
  • b13e16b517 fixed prefix -- parsing; codegen for unary + - ~ ! pommicket 2022-02-11 13:52:19 -05:00
  • 017a70ee7e generating code for casts! pommicket 2022-02-10 21:09:52 -05:00
  • bba56d2b51 return, integer literals pommicket 2022-02-10 18:09:32 -05:00
  • d8bb5b8957 first working executable! pommicket 2022-02-10 16:06:17 -05:00
  • b88de92fc7 fix some calling convention stuff pommicket 2022-02-10 13:24:02 -05:00
  • 3d44eba388 start codegen pommicket 2022-02-09 22:44:27 -05:00
  • d74dc53b0b more parsing tests, fixed more bugs pommicket 2022-02-09 15:50:02 -05:00
  • c548b12bbb fixed #include -> #include in certain cases, found a new bug pommicket 2022-02-08 22:17:28 -05:00
  • d7a9a565a9 fix declaring multiple variables after struct definition pommicket 2022-02-08 21:53:14 -05:00
  • 0a2d05bdd5 more parsing tests, more fixes pommicket 2022-02-08 20:09:08 -05:00
  • 26fccf7cd7 fix #elif line number problem with parse test pommicket 2022-02-07 17:23:26 -05:00
  • aba654c36d fix a bunch of problems from parsing test pommicket 2022-02-07 17:02:57 -05:00
  • 16bad1636d fix multi-line fmacro invocations pommicket 2022-02-07 16:33:27 -05:00
  • e21c1c39a7 capital number suffixes (oops) pommicket 2022-02-07 16:07:55 -05:00
  • 0752c66291 handle object macro definitions beginning with ( oops pommicket 2022-02-07 16:03:31 -05:00
  • cfe52e2cfe handle fmacros with no parameters pommicket 2022-02-07 16:01:35 -05:00
  • ef1100ad08 defined in #if (forgot about that earlier) pommicket 2022-02-07 15:53:44 -05:00
  • 4b6fe5266a cleanup - declaring functions without defining them, etc. pommicket 2022-02-07 15:16:26 -05:00
  • 9372a72d43 proper call typing? pommicket 2022-02-07 14:52:50 -05:00
  • c2377fa40f parsing calls, mostly pommicket 2022-02-07 12:18:41 -05:00
  • bbd9eb17e0 using function names pommicket 2022-02-06 20:00:30 -05:00
  • b404c21bfc function parameters, fix local variables pommicket 2022-02-06 18:24:52 -05:00
  • dd035eb224 switch, for pommicket 2022-02-06 16:52:50 -05:00
  • 029be0600d do pommicket 2022-02-06 13:52:26 -05:00
  • 2186650d77 while pommicket 2022-02-06 13:42:43 -05:00
  • a61c4f88f9 local variables in expressions pommicket 2022-02-05 19:41:45 -05:00
  • 41f122f01e braced initializers in local declarations pommicket 2022-02-05 19:22:47 -05:00
  • ebe96b9e85 start local declarations pommicket 2022-02-05 18:41:01 -05:00
  • d718819ee7 block static variables seem to be working pommicket 2022-02-05 18:07:42 -05:00
  • c5e2556d31 start local static declarations pommicket 2022-02-05 15:50:49 -05:00
  • 267b52814e bugfix, planning static variables pommicket 2022-02-04 23:21:33 -05:00
  • d75b4154d3 parse goto, case pommicket 2022-02-04 22:36:22 -05:00
  • dfce9118b9 parsing break, continue, return pommicket 2022-02-04 19:31:45 -05:00
  • d1167f03d0 start parsing statements (not a lot yet) pommicket 2022-02-03 22:53:38 -05:00
  • fd02968c23 dereferencing function pointers pommicket 2022-02-03 21:46:36 -05:00
  • 3e6cacfb7c parsing C is annoying pommicket 2022-02-03 19:19:12 -05:00
  • 04c5e1af8a fixed cast parsing bug pommicket 2022-02-02 23:05:33 -05:00
  • be9a3b4bd5 arrays decay to pointers - also found bug pommicket 2022-02-02 23:02:31 -05:00
  • e8378ddac0 fixed bug when evaluating division pommicket 2022-02-02 22:38:21 -05:00
  • c19bed7454 struct initializers, found some bugs (not fixed yet) pommicket 2022-02-02 15:12:28 -05:00
  • 2a65d49d59 union initializers, fix bug with array initializers pommicket 2022-02-02 14:07:08 -05:00
  • 6ccef91d52 array initializers more or less working pommicket 2022-02-02 13:43:20 -05:00
  • f4a8333751 various simplifications, start array initializers pommicket 2022-02-02 11:57:11 -05:00
  • 92293e83ac string literal initializers, global variable expressions pommicket 2022-02-02 09:49:56 -05:00
  • 22859ac40a start string initializers pommicket 2022-02-01 22:53:57 -05:00
  • 44e11303be little corrections pommicket 2022-01-29 11:13:56 -05:00
  • 1fd79e0ad7 normal (i.e. non-brace) initializers pommicket 2022-01-29 11:08:57 -05:00
  • 217794afce start top level decls - also oops forgot about sizeless arrays pommicket 2022-01-28 15:07:23 -05:00
  • 01b8a4d728 switch to using mmap for output file pommicket 2022-01-27 18:52:39 -05:00
  • b5a498aa52 sizeof structs and structs-in-structs working pommicket 2022-01-27 18:23:10 -05:00
  • 09f3f9b450 fix problem with casts immediately followed by operators pommicket 2022-01-27 18:00:31 -05:00
  • 539f23eaec structs mostly working pommicket 2022-01-27 10:57:18 -05:00
  • d036dcc5ac struct/union definitions pommicket 2022-01-26 18:00:47 -05:00
  • 387d650cab restore casts, sizeof pommicket 2022-01-26 17:01:06 -05:00
  • 7ca37ea8db commas starting to work pommicket 2022-01-26 16:40:11 -05:00
  • 73b6a68559 more work, now it's broken pommicket 2022-01-26 14:54:23 -05:00
  • 618be81b5c starting to move things around; nothing broken yet seemingly pommicket 2022-01-25 23:13:29 -05:00
  • fb564812c2 i forgot about commas ... pommicket 2022-01-25 18:28:26 -05:00
  • 47d801cd34 enums working pommicket 2022-01-25 17:50:00 -05:00
  • 049bd1440d enums almost working pommicket 2022-01-24 20:53:37 -05:00
  • 150fbb9dd8 casts pommicket 2022-01-24 18:27:09 -05:00
  • 466de93583 #if pommicket 2022-01-24 14:54:16 -05:00
  • 448a1ec4b5 little correction to parse_type pommicket 2022-01-24 14:43:51 -05:00
  • 5167a60347 typedefs mostly working pommicket 2022-01-24 14:06:52 -05:00
  • 46635e5748 sizeof working? pommicket 2022-01-24 13:22:16 -05:00
  • 6af5b34295 conditionals seemingly working pommicket 2022-01-23 19:19:49 -05:00
  • b4451ff1b9 practically done eval pommicket 2022-01-23 10:55:57 -05:00
  • aa0fbb9caf more eval pommicket 2022-01-23 10:37:00 -05:00
  • 08c49a193f more consterxprs pommicket 2022-01-21 23:24:18 -05:00
  • a7ace346b7 more constepxrs pommicket 2022-01-21 20:10:27 -05:00
  • 1b4c6b04dd start array types (const expr evaluation) pommicket 2022-01-21 18:57:13 -05:00
  • 3641ac98dc function types pommicket 2022-01-21 14:41:08 -05:00
  • 7ae8a22a94 very simple types working! pommicket 2022-01-19 22:23:29 -05:00
  • 57d918f8ff type splitting pommicket 2022-01-19 11:57:42 -05:00
  • c4b15b98bb start typedefs pommicket 2022-01-18 16:29:48 -05:00
  • 857d5552fc parsing/typing fixes pommicket 2022-01-15 10:35:36 -05:00
  • 2ec0cd4ae3 various typing fixes pommicket 2022-01-14 22:16:57 -05:00
  • 27a6d0eb2d better typing pommicket 2022-01-14 15:06:11 -05:00
  • b79c3e0f5a parsing fixes pommicket 2022-01-14 14:02:34 -05:00
  • e3547b76b1 some binop typing pommicket 2022-01-14 13:41:44 -05:00
  • df8c5700d6 fix unary ops pommicket 2022-01-14 11:52:26 -05:00
  • 39b5101490 unary ops mostly working pommicket 2022-01-14 10:08:02 -05:00
  • 05cbc58299 binop parsing working pommicket 2022-01-13 23:20:45 -05:00
  • 251c25cbad binops not working yet pommicket 2022-01-13 20:34:13 -05:00
  • 53ddd5803e more binop stuff pommicket 2022-01-13 20:29:52 -05:00
  • e44bc4976a start parsing binary ops pommicket 2022-01-13 18:13:29 -05:00
  • 13363eac1a simple expressions pommicket 2022-01-13 16:12:28 -05:00
  • e43f32b932 clean up floats, floats which become infinity and zero pommicket 2022-01-12 15:44:44 -05:00
  • ee3c461e6e more complicated floats working so far pommicket 2022-01-12 15:34:00 -05:00
  • f17720731d "nice" floating-point literals seem to work pommicket 2022-01-12 12:54:06 -05:00
  • 0d0455ce92 better float idea pommicket 2022-01-12 09:59:34 -05:00
  • cbe3580001 bad float implementation pommicket 2022-01-12 09:45:20 -05:00
  • 0779a0fab5 more float stuff pommicket 2022-01-11 22:43:52 -05:00
  • 06ebaf043b untested first stab at floats pommicket 2022-01-11 22:29:00 -05:00
  • 343129a610 full multiply pommicket 2022-01-11 18:03:09 -05:00
  • c42cf36dee powers of 10 pommicket 2022-01-11 17:36:33 -05:00
  • f8f044a7a2 tokenizing string literals and identifiers pommicket 2022-01-11 15:55:37 -05:00
  • a245a5be96 character constants pommicket 2022-01-11 15:09:49 -05:00
  • b0837b367e tokenizing integer literals pommicket 2022-01-11 14:03:13 -05:00