Commit Graph

141 Commits

Author SHA1 Message Date
Danila Fedorin 7b74b734a3 Generate the application configuration for abacus. 2017-07-28 18:45:56 -07:00
Danila Fedorin 352c578d15 Set up a gradle wrapper for abacus. 2017-07-28 17:18:14 -07:00
Danila Fedorin 5c301e4afa Load default plugin without jars. 2017-07-28 15:22:38 -07:00
Danila Fedorin 8c5306051e Add a toString for UnaryPrefixNode 2017-07-28 14:57:11 -07:00
Danila Fedorin c3bb3d7d3f Remove unused default value from PreciseNumber 2017-07-28 14:55:01 -07:00
Danila Fedorin 556a72f946 Change the constructor for NumberNode 2017-07-28 14:47:34 -07:00
Danila Fedorin f303093a3f Add a promotion priority to PerciseNumber 2017-07-28 14:39:37 -07:00
Danila Fedorin 8dae4a880e Comment class finder. 2017-07-28 14:32:27 -07:00
Danila Fedorin 243dc81deb Change ClassFinder code to be static. 2017-07-28 14:21:43 -07:00
Danila Fedorin 0c07695991 Merge branch 'unary' 2017-07-28 13:28:59 -07:00
Danila Fedorin ff689f9bd5 Merge branch 'big-decimal' 2017-07-28 13:18:44 -07:00
Arthur Drobot c184b55738 Implement preciseNumber for arbitrary precision. 2017-07-28 11:38:22 -07:00
Danila Fedorin dc410917b3 Remove old ClassFinder and hardcoded folder names, and fix class filter. 2017-07-28 11:35:23 -07:00
Danila Fedorin 9850f896bb Remove unneeded files from git. 2017-07-28 11:23:25 -07:00
Danila Fedorin 0b3648d4f3 Fix null pointer exceptions associated with turning ! into an operator. 2017-07-28 11:19:41 -07:00
rileyJones 69e3b55643 Add external plugin support 2017-07-28 11:17:54 -07:00
Danila Fedorin 2ba6e22fcb Rename OpNode to BinaryInfixNode. 2017-07-28 11:15:36 -07:00
Danila Fedorin 5228773b5e Implement unary operators. 2017-07-28 11:14:45 -07:00
Danila Fedorin 42393ca6a6 Add operator types. 2017-07-28 10:26:25 -07:00
Danila Fedorin b20ddc2013 Add rounding to naive number. 2017-07-28 09:57:39 -07:00
Danila Fedorin a881640bf6 Make the decimal matching optional. 2017-07-28 09:52:14 -07:00
Danila Fedorin 0263086e10 Add link nodes to collections and check for their presence.
This prevents infinite loops, as Link nodes do not follow regular
addInto behavior.
2017-07-28 09:51:59 -07:00
Danila Fedorin c9fad36d16 Fix bug causing an NPE when sqrt() was called. 2017-07-27 19:30:40 -07:00
Danila Fedorin 2cc4bd14ce Switch all uses of *List, *Map to just List and Map. 2017-07-27 18:19:12 -07:00
Danila Fedorin f119f19c04 Make pow an operator, represented by caret. 2017-07-27 16:55:18 -07:00
Danila Fedorin 65772c8d57 Fix function argument order. 2017-07-27 16:52:16 -07:00
Danila Fedorin bbbb2e855e Fix typo. 2017-07-27 16:37:54 -07:00
Danila Fedorin 8a29019852 Add ignoring whitespace and fix function precedence. 2017-07-27 16:36:13 -07:00
Danila Fedorin 0d7a416446 Add a missing comment. 2017-07-27 16:27:26 -07:00
Danila Fedorin 167e13cfe1 Merge branch 'master' of github.com:DanilaFe/abacus 2017-07-27 15:28:21 -07:00
Danila Fedorin b0ae3f90fc Add sanitization to TreeBuilder. 2017-07-27 15:26:02 -07:00
Danila Fedorin a7c2084254 Remove backslashes that will be obsolete. 2017-07-27 15:02:13 -07:00
rileyJones bf6f48bf82 Jar Plugin Loader 2017-07-27 14:33:08 -07:00
Danila Fedorin f7da896fc0 Fix several bugs and register operations as operations. 2017-07-27 14:15:45 -07:00
Danila Fedorin 6813643b15 Merge branch 'plugins' 2017-07-27 14:08:40 -07:00
Danila Fedorin e6cb755ec9 Merge branch 'master' of github.com:DanilaFe/abacus 2017-07-27 14:08:31 -07:00
Danila Fedorin 2ca23fd427 Implement correct plugin loading and registration. 2017-07-27 14:06:57 -07:00
Danila Fedorin efbd6a4c20 Add missing return documentation. 2017-07-27 14:06:25 -07:00
Danila Fedorin a211884499 Prevent operation lookups, as they pollute the cache. 2017-07-27 14:06:15 -07:00
Danila Fedorin f2c280766d Add a PluginListener type for use in the PluginManager. 2017-07-27 14:06:04 -07:00
Arthur Drobot 088a45cf4c Add sqrt function. 2017-07-27 13:47:51 -07:00
Arthur Drobot 557bc66e53 Begin working on memoization for factorial. (Commented out for now.) 2017-07-27 13:39:19 -07:00
Danila Fedorin e6559015b3 Rename load to onLoad and add onDisable to plugin. 2017-07-27 13:26:17 -07:00
Danila Fedorin f931b9f322 Move parsing code into TreeBuilder, change lexing and parsing algorithms 2017-07-27 13:25:57 -07:00
Arthur Drobot 9666ef9019 Add pow function. 2017-07-27 13:17:22 -07:00
Arthur Drobot ba30227b28 Add natural log function. May not be terribly efficient currently, but it works and is usable. 2017-07-27 13:04:41 -07:00
Danila Fedorin 78e2d50f89 Add comments and clear appropriate cache. 2017-07-27 10:58:11 -07:00
Danila Fedorin 07dd9d0a1a Support removing expressions. 2017-07-27 10:54:11 -07:00
Danila Fedorin ee1de6dc17 Add the operator that had been in use by Plugin and PluginManager. 2017-07-27 10:53:56 -07:00
Danila Fedorin 077a34c618 Switch Lexer to use a map for patterns, to allow for removal. 2017-07-27 10:47:11 -07:00