1
0
mirror of https://github.com/DanilaFe/abacus synced 2024-07-21 21:14:08 -07:00
Commit Graph

157 Commits

Author SHA1 Message Date
6337c74e63 Replace the old TreeBuilder with the new TreeBuilder. 2017-07-29 21:37:55 -07:00
e61e2b07b2 Implement a LexerTokenizer and a ShuntingYard parser.
These are basically two pieces of the old TreeBuilder, but decoupled
and reimplemented conventionally.
2017-07-29 21:37:32 -07:00
dcbda5b255 Add comments to the two parsing interfaces. 2017-07-29 21:36:39 -07:00
65e8b7d15e Change matches to store the string they matched. 2017-07-29 21:20:11 -07:00
7b1b9aa01c Implement the components of a new tree builder. 2017-07-29 21:02:41 -07:00
10c25fd478 Merge branch 'architecture' 2017-07-29 19:30:36 -07:00
02443fc563 Update README.md 2017-07-28 23:26:35 -07:00
768b9b0e8f Remove precision specification as it seems detrimental. 2017-07-28 22:51:59 -07:00
c66f36c77a Allow plugins to register number implementations and use user's choice. 2017-07-28 22:17:22 -07:00
28b9e15fc8 Add configuration object to Abacus. 2017-07-28 21:37:47 -07:00
451931da6c Merge branch 'configuration' into architecture 2017-07-28 21:31:45 -07:00
a16e85dfcd Rewrite Abacus to be the central class of the application. 2017-07-28 21:25:02 -07:00
90f04a20ad Change precision to getMaxPrecision, as precision can be configured. 2017-07-28 20:04:13 -07:00
a0bc85a899 Create a ConfigurationObject class. 2017-07-28 20:03:50 -07:00
a63a3b6bae Make ClassFinder return generic List objects. 2017-07-28 19:36:34 -07:00
5a55045810 Add more entries to .gitignore. 2017-07-28 18:48:37 -07:00
91ff2065f1 Generate the application configuration for abacus. 2017-07-28 18:45:56 -07:00
4e1f3ad9d7 Set up a gradle wrapper for abacus. 2017-07-28 17:18:14 -07:00
0300bece46 Load default plugin without jars. 2017-07-28 15:22:38 -07:00
ce9e32b08f Add a toString for UnaryPrefixNode 2017-07-28 14:57:11 -07:00
f4508a8c5a Remove unused default value from PreciseNumber 2017-07-28 14:55:01 -07:00
eac4ce8600 Change the constructor for NumberNode 2017-07-28 14:47:34 -07:00
9e3b550a15 Add a promotion priority to PerciseNumber 2017-07-28 14:39:37 -07:00
6aa9225eee Comment class finder. 2017-07-28 14:32:27 -07:00
0592200961 Change ClassFinder code to be static. 2017-07-28 14:21:43 -07:00
5a8e13fbef Merge branch 'unary' 2017-07-28 13:28:59 -07:00
317c214ef3 Merge branch 'big-decimal' 2017-07-28 13:18:44 -07:00
Arthur Drobot
851c63115f Implement preciseNumber for arbitrary precision. 2017-07-28 11:38:22 -07:00
701de050fd Remove old ClassFinder and hardcoded folder names, and fix class filter. 2017-07-28 11:35:23 -07:00
53065f8374 Remove unneeded files from git. 2017-07-28 11:23:25 -07:00
2fa51fc997 Fix null pointer exceptions associated with turning ! into an operator. 2017-07-28 11:19:41 -07:00
rileyJones
408c4f0379 Add external plugin support 2017-07-28 11:17:54 -07:00
c1bf308d6d Rename OpNode to BinaryInfixNode. 2017-07-28 11:15:36 -07:00
51f2c15542 Implement unary operators. 2017-07-28 11:14:45 -07:00
082b2f8783 Add operator types. 2017-07-28 10:26:25 -07:00
7755a04bd7 Add rounding to naive number. 2017-07-28 09:57:39 -07:00
1d7134e7f3 Make the decimal matching optional. 2017-07-28 09:52:14 -07:00
c350c24f62 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
df0b1829ff Fix bug causing an NPE when sqrt() was called. 2017-07-27 19:30:40 -07:00
d9df565a42 Switch all uses of *List, *Map to just List and Map. 2017-07-27 18:19:12 -07:00
bc23b8dbda Make pow an operator, represented by caret. 2017-07-27 16:55:18 -07:00
65a6265cf6 Fix function argument order. 2017-07-27 16:52:16 -07:00
edbef67b8a Fix typo. 2017-07-27 16:37:54 -07:00
5373d953a6 Add ignoring whitespace and fix function precedence. 2017-07-27 16:36:13 -07:00
692ba2cdc5 Add a missing comment. 2017-07-27 16:27:26 -07:00
029acb7747 Merge branch 'master' of github.com:DanilaFe/abacus 2017-07-27 15:28:21 -07:00
96b09fdf2e Add sanitization to TreeBuilder. 2017-07-27 15:26:02 -07:00
d2b27da528 Remove backslashes that will be obsolete. 2017-07-27 15:02:13 -07:00
rileyJones
7b3df49422 Jar Plugin Loader 2017-07-27 14:33:08 -07:00
381c88f7a0 Fix several bugs and register operations as operations. 2017-07-27 14:15:45 -07:00