Commit Graph

579 Commits

Author SHA1 Message Date
Arthur Drobot 782636a982 Fix comment. 2017-07-31 10:28:39 -07:00
Danila Fedorin 97d63489cc Focus on the text field on startup. 2017-07-30 21:25:21 -07:00
Danila Fedorin a0a4f1fbfe Add comments to the newly defined static functions. 2017-07-30 21:15:01 -07:00
Danila Fedorin 763683b6b4 Move OP_CARET back into place. 2017-07-30 21:12:50 -07:00
Danila Fedorin 3ce74303ed Format code. 2017-07-30 21:11:32 -07:00
Danila Fedorin 122874b97a Move all functions to a static context, stopping unnecessary lookups. 2017-07-30 21:10:11 -07:00
Danila Fedorin 0125980c5a Write tests involving plugin loading, and generalize token testing code. 2017-07-30 19:21:26 -07:00
Danila Fedorin cb7d0f309b Remove the window as a part of the Abacus class. 2017-07-30 15:00:08 -07:00
Danila Fedorin cb98601ae5 Add some comments. 2017-07-30 14:59:20 -07:00
Danila Fedorin 67b95edd44 Write basic tokenizer tests. 2017-07-30 14:52:10 -07:00
Danila Fedorin 960f891393 Remove abacus dependency from PluginManager. 2017-07-30 14:42:06 -07:00
Danila Fedorin b599bef775 Write more tests for the Lexer. 2017-07-30 14:12:17 -07:00
Danila Fedorin 21d88fe256 Update README.md 2017-07-30 14:04:24 -07:00
Danila Fedorin 3d61ead0f6 Update README.md 2017-07-30 14:03:58 -07:00
Danila Fedorin 28004ed98d Write tests for special cases. 2017-07-30 00:46:42 -07:00
Danila Fedorin 317cc552e6 Write basic tests for string matching. 2017-07-29 23:48:01 -07:00
Danila Fedorin 43c11f8454 Move the source files into a new default directory. 2017-07-29 23:44:21 -07:00
Danila Fedorin 3131d96d07 Merge branch 'new-parser-prep' into unit-tests 2017-07-29 23:42:23 -07:00
Danila Fedorin 542f4b26ab Fix README formatting.
[ci skip]
2017-07-29 23:35:56 -07:00
Danila Fedorin d449e58888 Add the build badge to the README page.
[ci skip]
2017-07-29 23:35:15 -07:00
Danila Fedorin 085569900b Add a .travis.yml to run TravisCI tests. 2017-07-29 23:29:10 -07:00
Danila Fedorin 7b2ee1c87a Create empty class, getting ready to write tests. 2017-07-29 21:49:36 -07:00
Danila Fedorin 274826cc09 Replace the old TreeBuilder with the new TreeBuilder. 2017-07-29 21:37:55 -07:00
Danila Fedorin bfee4ec322 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
Danila Fedorin bd1f7b8786 Add comments to the two parsing interfaces. 2017-07-29 21:36:39 -07:00
Danila Fedorin 90c6625108 Change matches to store the string they matched. 2017-07-29 21:20:11 -07:00
Danila Fedorin a99b6b647f Implement the components of a new tree builder. 2017-07-29 21:02:41 -07:00
Danila Fedorin d12d53032b Merge branch 'architecture' 2017-07-29 19:30:36 -07:00
Danila Fedorin ff31dd6e47 Update README.md 2017-07-28 23:26:35 -07:00
Danila Fedorin 9454620489 Remove precision specification as it seems detrimental. 2017-07-28 22:51:59 -07:00
Danila Fedorin 1160768ee5 Allow plugins to register number implementations and use user's choice. 2017-07-28 22:17:22 -07:00
Danila Fedorin 1ce9fc6b1c Add configuration object to Abacus. 2017-07-28 21:37:47 -07:00
Danila Fedorin acf3d85584 Merge branch 'configuration' into architecture 2017-07-28 21:31:45 -07:00
Danila Fedorin 6c80d8fe93 Rewrite Abacus to be the central class of the application. 2017-07-28 21:25:02 -07:00
Danila Fedorin c230675855 Change precision to getMaxPrecision, as precision can be configured. 2017-07-28 20:04:13 -07:00
Danila Fedorin bd44307f2b Create a ConfigurationObject class. 2017-07-28 20:03:50 -07:00
Danila Fedorin a949a27da4 Make ClassFinder return generic List objects. 2017-07-28 19:36:34 -07:00
Danila Fedorin 5f2f2c8589 Add more entries to .gitignore. 2017-07-28 18:48:37 -07:00
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