Commit Graph

34 Commits

Author SHA1 Message Date
Danila Fedorin f4ecb82c46 Intermediate commit before visitor refactor. 2018-08-11 18:22:18 -07:00
Danila Fedorin 4a058384c1 Make some functions public. 2018-08-10 18:39:26 -07:00
Danila Fedorin 7c8c547540 Add true / false values to interpreter. 2018-08-10 15:29:56 -07:00
Danila Fedorin 25f5d3469b Add a boolean type. 2018-08-10 00:52:12 -07:00
Danila Fedorin 03577269f2 Add various ways to call code. 2018-06-21 17:06:53 -07:00
Danila Fedorin 62dd41e634 Use the unit type correctly instead of null references. 2018-06-02 16:06:13 -07:00
Danila Fedorin 969e457fba Add a unit type. 2018-06-02 15:37:04 -07:00
Danila Fedorin f199bc6efd Add a function to call a function by name. 2018-06-01 23:32:19 -07:00
Danila Fedorin 5fec3bd63c Make operators simply aliases to functions. 2018-06-01 15:24:55 -07:00
Danila Fedorin 1f8788dd32 Add functions for getting special types. 2018-05-27 00:11:00 -07:00
Danila Fedorin a6029d7ef4 Add utility function for executing code. 2018-05-18 14:15:15 -07:00
Danila Fedorin c3a7657c71 Format code. 2018-05-17 14:53:48 -07:00
Danila Fedorin 3e8c814215 Remove pointless parameter copying. 2018-05-11 20:36:27 -07:00
Danila Fedorin 989774cec5 Add methods to get pointers to basetypes, for comparison. 2018-05-11 20:12:03 -07:00
Danila Fedorin 1e215ecfa5 Add a function for preparing for execution. 2018-05-06 18:45:07 -07:00
Danila Fedorin 0a24fff344 Add a new implementation struct with only one function. 2018-04-24 16:59:53 -07:00
Danila Fedorin 14e9ddea23 Remove the implementation struct. 2018-04-24 16:34:10 -07:00
Danila Fedorin 46040531fb Add interpreter to libab. 2018-04-24 11:35:27 -07:00
Danila Fedorin a86938b574 Use reference counted table in libab. 2018-04-24 11:35:16 -07:00
Danila Fedorin b12f6d7a31 Add a number implementation struct to libab. 2018-04-21 17:32:38 -07:00
Danila Fedorin 5d3130d39d Format the code with clang-format. 2018-04-21 14:09:01 -07:00
Danila Fedorin 7692d4541f Add function to compile a type from its string. 2018-04-20 14:54:23 -07:00
Danila Fedorin 7b1445a262 Add functions for basetypes and their entries in tables. 2018-04-17 12:07:22 -07:00
Danila Fedorin ab2311def9 Store function / operator types when they are registered. 2018-03-15 19:41:11 -07:00
Danila Fedorin b1aa2a4bf5 Implement associativity storage for operators. 2018-02-17 16:00:39 -08:00
Danila Fedorin 8cd1d23120 Add functions to separately register different types of operators. 2018-02-17 14:01:48 -08:00
Danila Fedorin 3de3f1ec00 Move structs used to hold custom operators and functions into new header 2018-02-11 22:38:40 -08:00
Danila Fedorin 74034c7b76 Rename header files. 2018-02-11 22:32:42 -08:00
Danila Fedorin f67b98d7a6 Add a parser struct. 2018-02-11 22:26:19 -08:00
Danila Fedorin 37a6f31b5f Start the overarching library code, and move result enum elsewhere. 2018-02-11 22:11:33 -08:00
Danila Fedorin e5351c17a2 Fix code to stick to proper naming convention. 2018-02-11 21:22:01 -08:00
Danila Fedorin 0958ecd1eb Begin working on an initial implementation for the parser. 2018-02-10 22:40:34 -08:00
Danila Fedorin b46dccb70d Add a utility header to convert error codes. 2018-02-10 16:01:08 -08:00
Danila Fedorin 10652048ab Begin working on the lexer. 2018-02-10 13:57:16 -08:00