Commit Graph

  • 453d4564f0 Allow large literal integers Rui Ueyama 2019-08-11 15:24:40 +0900
  • 476103724e Make sizeof to accept not only an expression but also a typename Rui Ueyama 2019-08-11 15:04:35 +0900
  • 6c5fe4dd21 Handle complex type declarations correctly Rui Ueyama 2019-08-11 14:12:01 +0900
  • b34bdb64a7 Add `long long` as an alias for `long` Rui Ueyama 2019-08-11 11:04:36 +0900
  • 80dbe29163 Add _Bool type Rui Ueyama 2019-08-11 10:20:55 +0900
  • 1508996b93 Add void type Rui Ueyama 2019-08-11 10:18:55 +0900
  • 0ac8705115 Add a return type to a function Rui Ueyama 2019-08-11 09:53:31 +0900
  • 1cbe40ad02 Add function declaration Rui Ueyama 2019-08-11 09:30:00 +0900
  • d51097dc0f Support nested type declarators, e.g., "int (*x)[3]" Rui Ueyama 2019-08-10 23:05:37 +0900
  • d25451dcaa Add short and long types Rui Ueyama 2019-08-09 10:29:42 +0900
  • e513e5c8b9 Change the size of `int` from 8 to 4 Rui Ueyama 2019-08-09 10:12:23 +0900
  • ddebc725d6 Add typedef Rui Ueyama 2019-08-09 08:46:41 +0900
  • 683899958f Add "->" operator Rui Ueyama 2019-08-09 08:05:53 +0900
  • 3bffeded7f Support struct tags Rui Ueyama 2019-08-09 07:30:00 +0900
  • 8c8d518a81 Align local variables Rui Ueyama 2019-08-09 00:10:31 +0900
  • b656615a72 Align struct members correctly Rui Ueyama 2019-08-09 00:04:18 +0900
  • 6ba0fc5404 Add struct Rui Ueyama 2019-08-08 22:43:58 +0900
  • 6f3c12586c Rewrite tests in shell script in C Rui Ueyama 2019-08-07 10:17:26 +0900
  • 696af8d37b Handle block scope Rui Ueyama 2019-08-07 09:25:19 +0900
  • de96f4b0ba Add line and block comments Rui Ueyama 2019-08-07 08:56:28 +0900
  • 64f2d0b8a7 Read code from a file instead of argv[1] Rui Ueyama 2019-08-07 08:30:06 +0900
  • ca52c2c7fd Add GNU expression statement Rui Ueyama 2019-08-07 08:05:18 +0900
  • e648f9fba5 Add \a, \b, \t, \n \v, \f, \r, \e and \0 Rui Ueyama 2019-08-06 22:36:19 +0900
  • 948dc8deed Add string literal Rui Ueyama 2019-08-06 20:49:57 +0900
  • b6d512ee69 Add char type Rui Ueyama 2019-08-06 20:10:55 +0900
  • 5e66e310ed Add global variables Rui Ueyama 2019-08-06 19:44:47 +0900
  • ce8490c9cb Add sizeof Rui Ueyama 2019-08-06 18:44:53 +0900
  • a0242d82cd Add [] operator Rui Ueyama 2019-08-06 18:14:53 +0900
  • 924330b390 Add arrays of arrays Rui Ueyama 2019-08-05 23:56:37 +0900
  • a8ae214d16 Add one dimensional arrays Rui Ueyama 2019-08-05 23:30:35 +0900
  • 91465fe4ac Add keyword "int" and make variable definition mandatory Rui Ueyama 2019-08-05 22:44:44 +0900
  • a3ae40fc7f Annotate AST nodes with types to make pointer arithmetic work Rui Ueyama 2019-08-05 22:30:34 +0900
  • 4ff4c3142b Add unary & and * Rui Ueyama 2019-08-05 21:12:44 +0900
  • 01893a7ff1 Add a representative node to each Node to improve error messages Rui Ueyama 2019-08-05 20:53:58 +0900
  • c86f637f6d Support function definition up to 6 parameters Rui Ueyama 2019-08-05 08:35:49 +0900
  • 4cd0e82bf1 Support parameter-less function definition Rui Ueyama 2019-08-04 19:47:41 +0900
  • ee423036ed Make sure that stack frames are aligned to 16 bytes boundaries Rui Ueyama 2019-08-04 19:16:16 +0900
  • ed3fc29894 Support function call with up to 6 arguments Rui Ueyama 2019-08-04 19:03:46 +0900
  • 9dddc1d359 Support argument-less function calls Rui Ueyama 2019-08-04 18:25:20 +0900
  • f0fe1c88ab Add LICENSE and README.md Rui Ueyama 2019-08-04 18:07:31 +0900
  • be91a3587b Add { ... } Rui Ueyama 2019-08-04 17:55:33 +0900
  • 8dab60e49c Add "for" statement Rui Ueyama 2019-08-04 17:35:53 +0900
  • 913319ff27 Add "while" statement Rui Ueyama 2019-08-04 17:24:03 +0900
  • b3d4b80260 Add "if" statement Rui Ueyama 2019-08-04 17:12:59 +0900
  • 8fdc5aa417 Support multi-letter local variables Rui Ueyama 2019-08-04 15:21:44 +0900
  • 4216d6c4cf Support single-letter local variables Rui Ueyama 2019-08-03 19:05:07 +0900
  • 25f4523236 Add the notion of the expression statement Rui Ueyama 2019-08-03 19:00:00 +0900
  • d0c3ed7dc9 Add "return" statement Rui Ueyama 2019-08-03 18:30:00 +0900
  • 92bced2f8a Accept multiple statements separated by semicolons Rui Ueyama 2019-08-03 18:00:00 +0900
  • 6eb2c2b4ee Split main.c into multiple small files Rui Ueyama 2019-08-03 17:17:13 +0900
  • 99bd7171e1 Add ==, !=, <= and >= operators Rui Ueyama 2019-08-03 16:15:23 +0900
  • 24a813c53d Handle reserved tokens as strings instead of characters Rui Ueyama 2019-08-03 16:10:23 +0900
  • b00c7c562b Add unary plus and minus Rui Ueyama 2019-08-03 15:41:40 +0900
  • ad0588a717 Add *, / and () Rui Ueyama 2019-08-03 15:36:43 +0900
  • 4f057575cb Improve error message Rui Ueyama 2019-08-03 15:02:08 +0900
  • dc03646614 Add a tokenizer to allow space characters between tokens Rui Ueyama 2019-08-03 12:36:06 +0900
  • f0b01ae77a Add + and - operators Rui Ueyama 2019-08-03 12:20:08 +0900
  • f722daaaae Compile an integer to an exectuable that exits with the given number Rui Ueyama 2019-08-03 11:29:50 +0900
  • 82171f9ec3 Compile an integer to an exectuable that exits with the given number Rui Ueyama 2019-08-03 11:29:50 +0900