Commit Graph

73 Commits

Author SHA1 Message Date
Danila Fedorin 31996219ad Switch the Lexer and TreeBuilder to using exceptions. 2017-09-23 15:31:35 -07:00
Danila Fedorin a3bfc34c1c Throw parse exceptions instead of returning null. 2017-09-22 16:35:08 -07:00
Danila Fedorin 8dc7acd4b3 Add a separate class of exceptions for NumberReducer. 2017-09-22 11:58:19 -07:00
Danila Fedorin fbdf2c7e52 Eliminate warnings related to null returns that have been removed. 2017-09-21 23:09:13 -07:00
Danila Fedorin 3057f66e66 Throw the exception instead of returning null. 2017-09-21 23:05:48 -07:00
Danila Fedorin e364f4e94b Have the NumberInterface provide the Kotlin rangeTo method. 2017-09-20 13:22:18 -07:00
Danila Fedorin eb91a5b875 Fix a bug that made some same-priority implementations not convert. 2017-09-20 12:47:30 -07:00
Danila Fedorin 566831246c Add an exception thrown when promotion fails. 2017-09-20 12:06:06 -07:00
Danila Fedorin 14ac9c67f4 Implement the comparable interface. 2017-09-16 00:18:43 -07:00
Danila Fedorin 337edd68fa Merge branch 'master' into thread-safety 2017-09-15 22:58:33 -07:00
Danila Fedorin 5b4773dee1 Do not use null in exceptions and add messages to exceptions. 2017-09-11 19:32:57 -07:00
Danila Fedorin 45de25cd50 Move exceptions to their own package and subclass one class. 2017-09-11 19:32:57 -07:00
Danila Fedorin 52ab357fe1 Remove nullability from reduction. 2017-09-11 19:32:57 -07:00
Danila Fedorin 1575d3e574 Remove nullability from tree nodes. 2017-09-11 19:32:57 -07:00
Danila Fedorin 7cd117dac1 Add synchronization to the Standard plugin. 2017-09-11 19:32:51 -07:00
Danila Fedorin 8975bfdb99 Precompute Pi, and do not store documentation on access. 2017-09-11 19:32:51 -07:00
Danila Fedorin 1667edc72b Merge branch 'master' into context 2017-09-11 19:14:07 -07:00
Danila Fedorin 21b7bd5e2b Move TOML code out of the configuration in core, and into fx. 2017-09-11 18:06:40 -07:00
Danila Fedorin f2ac7b109a Remove old imports. 2017-09-10 18:19:30 -07:00
Danila Fedorin 059226a4d4 Rename the context class. 2017-09-06 22:54:21 -07:00
Danila Fedorin 924849bd8b Make reloads go through the Abacus core. 2017-09-06 22:03:54 -07:00
Danila Fedorin 91986112a1 Switch all applicables to use the Context. 2017-09-06 21:43:07 -07:00
Danila Fedorin 58fea9c52b Move the files into the correct source directory. 2017-09-06 20:48:43 -07:00
Danila Fedorin 863be5bcfc Rewrite number reducer in Kotlin. 2017-09-06 20:39:38 -07:00
Danila Fedorin f0e38fed87 Add the contexts and delegates for them. 2017-09-06 20:36:25 -07:00
Danila Fedorin 6604af5b0f Merge branch 'master' into no-null 2017-09-06 15:16:55 -07:00
Danila Fedorin 585cabc478 Add the ability for plugins to access variables, and add the operators. 2017-09-05 23:00:25 -07:00
Danila Fedorin 28802cfed3 Remove the additional methods from the VariableDatabase. 2017-09-05 23:00:25 -07:00
Danila Fedorin 428df8bfd3 Use the variable database for the number reducer. 2017-09-05 23:00:25 -07:00
Danila Fedorin daffdb6b42 Move Abacus core into Kotlin. 2017-09-05 23:00:25 -07:00
Danila Fedorin 178f59ef7b Move the exception to the correct package. 2017-09-04 12:55:49 -07:00
Danila Fedorin 9c77fa8aeb Add a DomainException that avoids using null in functions. 2017-09-04 12:55:49 -07:00
Danila Fedorin 9ddfeb02cf Fix not clearing an important map during reset. 2017-09-04 12:51:53 -07:00
Danila Fedorin 1f6aa70230 Ensure PromotionManager clears its implementation cache. 2017-09-01 18:33:12 -07:00
Danila Fedorin ce82fd56dd Remove newlines generated by IntelliJ's addition of @Nullable. 2017-09-01 18:11:19 -07:00
Danila Fedorin 6a65e66935 Format code. 2017-09-01 18:07:48 -07:00
Danila Fedorin e172108476 Stop using fromInt and the promoteTo function. 2017-09-01 18:07:28 -07:00
Danila Fedorin 2b700d3911 Require applicable interfaces to be passed an implementation they use. 2017-09-01 17:45:32 -07:00
Danila Fedorin f7c07ca04d Add promotion manager to Abacus. 2017-09-01 17:15:28 -07:00
Danila Fedorin 7a296e4e8b Add the ability to retrieve names of plugin implementations. 2017-09-01 17:14:11 -07:00
Danila Fedorin cbceee4abc Switch number implementation to using Strings. 2017-09-01 17:13:45 -07:00
Danila Fedorin ae0ec0c375 Switch add and multiply to two parameters. 2017-08-29 18:31:47 -07:00
Danila Fedorin fbc12ec41c Format newly written code. 2017-08-26 12:19:34 -07:00
Danila Fedorin c2feedee32 Register precedences of TreeValue operators. 2017-08-25 19:49:37 -07:00
Danila Fedorin f8eb051583 Fix token precedence for variable names / operators. 2017-08-25 19:48:56 -07:00
Danila Fedorin 20b2e77ee1 Add reduction of TreeValue operators. 2017-08-25 19:48:43 -07:00
Danila Fedorin 9d52d55e68 Add TreeValue operator nodes, and parsing for them. 2017-08-25 18:42:41 -07:00
Danila Fedorin 07d7343339 Abstract some Binary and Unary node logic. 2017-08-25 17:46:25 -07:00
Danila Fedorin 73075c57b9 Add registering TreeValueOperators. 2017-08-25 17:31:47 -07:00
Danila Fedorin 5b1a48c02e Convert Applicable interfaces into Kotlin. 2017-08-25 16:07:23 -07:00