Commit Graph

149 Commits

Author SHA1 Message Date
Hackerpilot 9e63e396a4 Fixed lexing of integer dot identifier 2013-07-11 01:22:37 -07:00
Hackerpilot 3f0994c4d2 Getting closer 2013-07-07 22:20:41 -07:00
Hackerpilot 3acdffdc6b Now handles all but 11 files 2013-07-05 04:08:53 +00:00
Hackerpilot 4edd57eb12 Merged 2013-07-04 22:23:04 +00:00
Hackerpilot 0dce698fc3 Fixed another bug 2013-07-04 16:13:09 -07:00
Hackerpilot 8492a39b09 36/57 files in Phobos parse. 2013-07-03 14:26:14 -07:00
Hackerpilot 7c744a07f6 Now able to parse about half of Phobos 2013-07-02 21:39:14 -07:00
Hackerpilot e598033b70 Merge branch 'range-based-lexer' of https://github.com/Hackerpilot/Dscanner into range-based-lexer 2013-07-02 23:47:24 +00:00
Hackerpilot 1e9db2e0b0 Grammar cleanup 2013-07-02 23:47:21 +00:00
Hackerpilot 153e7c3b8e Parser can now parse itself. Also parses std.array 2013-07-01 01:50:54 +00:00
Hackerpilot 95c7c25fc6 Parser now handles more code. Rearranged token struct to fit in 32 bytes 2013-06-30 13:21:10 -07:00
Hackerpilot f7e7cf19ee All non-ASM TODO comments replaced with code. Now the debugging begins 2013-06-29 01:54:52 -07:00
Hackerpilot a12a8a866b Can now parse the ast and tester modules 2013-06-28 02:35:12 -07:00
Hackerpilot 859ddd3d20 Fewer TODO comments 2013-06-27 22:08:46 -07:00
Hackerpilot ad8b4fdeaa Fixed shadowing declaration 2013-06-27 16:27:05 -07:00
Hackerpilot 7a4e588793 Remove crash-prone *expect calls 2013-06-27 16:25:44 -07:00
Hackerpilot 62734e58df Parser is now able to parse the AST module 2013-06-27 02:07:45 -07:00
Hackerpilot 084bc6fd86 Reduced number of TODO comments 2013-06-27 01:08:04 -07:00
Hackerpilot 635ddf79a0 More work on the various expression parsing functions 2013-06-25 01:18:09 -07:00
Hackerpilot 1beef6a901 Unary and Primary expression parsing 2013-06-24 02:33:40 +00:00
Hackerpilot 38105d542f Merged 2013-06-22 17:47:17 +00:00
Hackerpilot 2802eb20a9 More work on the parser 2013-06-22 17:23:30 -07:00
Hackerpilot 7ed0e4a720 more changes 2013-06-22 17:35:09 +00:00
Hackerpilot 3a66f01405 more implementation work 2013-06-15 23:37:37 -07:00
Hackerpilot 6dc1e4c2ff Can now actually parse some basic code 2013-06-10 09:30:02 +00:00
Hackerpilot 79bfe7af4e More progress. Cleaned up grammar based on the fact that the semicolon is no longer a valid statement. Added unit tests. Implemented some more parsing methods 2013-06-09 03:10:52 +00:00
Hackerpilot 4fdcccc8bc More progress on the parser 2013-06-08 22:51:47 -07:00
Hackerpilot e7d78c214c __parameters is not a rule 2013-06-05 01:00:07 +00:00
Hackerpilot 6aa3fcfd02 Finished grammar DDoc 2013-06-05 00:46:51 +00:00
Hackerpilot 90b6d37c5d MOAR PARSING STUFF 2013-06-03 00:50:13 +00:00
Hackerpilot 0e58854fa9 Lots of DDoc changes, some parser work 2013-06-01 17:51:45 +00:00
Hackerpilot 4ad043085a Parser progress 2013-06-01 12:15:25 -07:00
Hackerpilot 8db927a8fd Progress on the parser 2013-05-30 19:56:55 -07:00
Hackerpilot e405a1ad2b Minor cleanup on lexer. More work on the parser and AST 2013-05-30 01:12:10 +00:00
Hackerpilot 8a7c962d16 Parser implementation work 2013-05-22 23:50:23 -07:00
Hackerpilot 35e5ad63c1 Filled out list of parsing functions based on new AST 2013-05-20 01:49:55 +00:00
Hackerpilot 2a9dfaf3f5 AST classes are now complete. Will likely be refactored later. 2013-05-20 00:53:43 +00:00
Hackerpilot a2e0a3bfe2 More progress on the AST clasess. 2013-05-19 12:26:34 -07:00
Hackerpilot e5c7129803 Fixed compile error 2013-05-11 14:18:15 +00:00
Hackerpilot 548996d1e5 Updated to include new special tokens 2013-05-05 12:45:25 -07:00
Hackerpilot 45ba5570e7 Updated listing of special tokens. Began rewrite of AST based on new grammar. 2013-04-22 01:00:24 -07:00
Hackerpilot 281751e52e ast work 2013-03-30 22:59:22 -07:00
Hackerpilot 41ec752e86 Merge branch 'range-based-lexer' of https://github.com/Hackerpilot/Dscanner into range-based-lexer 2013-03-24 01:19:49 +00:00
Hackerpilot 490d632a29 added messagepack 2013-03-24 01:19:45 +00:00
qchikara ec57809ec9 Fix: Token#opEquals(TokenType) never returns false
opEquals(TokenType) never returns false because its argument shadows the corresponding field.
2013-03-21 01:44:17 +09:00
Dmitry Olshansky 8d8d72dfe5 fix a horrible perf mistake in genCaseTrie 2013-03-18 15:23:57 +04:00
Dmitry Olshansky ba5d9d6775 shift token type<->string mapping to CTFE/meta 2013-03-18 15:06:11 +04:00
Hackerpilot fdd4e3060e merged 2013-03-10 00:58:20 -08:00
Hackerpilot dc81410008 whitespace 2013-03-10 00:41:54 -08:00
Dmitry Olshansky a692c0c6c9 a bit of tuning and it beats fixed-sized table by very slim margin 2013-03-08 22:09:45 +04:00
Dmitry Olshansky e5810db4e2 actually use the power-of-two assumption, brings it on par with load factor of 0.5 2013-03-08 14:16:14 +04:00
Dmitry Olshansky b9c1928746 add rehashing and simpler hash-table (sadly too slow) 2013-03-08 14:04:32 +04:00
Dmitry Olshansky 510b7ca47e actually there could be interior pointers once string cache is out of scope 2013-03-05 23:43:26 +04:00
Dmitry Olshansky 431dd3c3d2 kill foreach opApply iteration (too slow) 2013-03-05 23:17:40 +04:00
Hackerpilot c1fcef1873 merged 2013-03-04 02:05:18 +00:00
Hackerpilot 3c8b5c4bc4 fix compile errors by COMMENTING OUT EVERYTHING 2013-03-04 02:01:27 +00:00
Hackerpilot c867b86598 More work on core features 2013-03-03 23:50:52 +00:00
Hackerpilot bd54c84e3d Ddoc / indentation fixes. Also moved the lexer source code below the "private:" line 2013-02-28 11:21:37 -08:00
Hackerpilot 1dfeb281d9 Merge branch 'range-based-lexer' of https://github.com/Hackerpilot/Dscanner into range-based-lexer 2013-02-27 21:01:49 +00:00
Hackerpilot 16ac572ad5 token rename 2013-02-27 21:01:46 +00:00
Dmitry Olshansky a4a35e88bc make filter work on case by case basis instead of on every token 2013-02-27 23:45:56 +04:00
Dmitry Olshansky eb422f65d1 eliminating more of extra ops from the common path 2013-02-27 23:12:46 +04:00
Hackerpilot 9b0d3d78d1 Merge branch 'range-based-lexer' of https://github.com/Hackerpilot/Dscanner into range-based-lexer 2013-02-22 22:24:26 +00:00
Hackerpilot bfd6c55de3 Renamed tokens for consistency 2013-02-22 22:24:23 +00:00
Dmitry Olshansky 94d3d21588 first steps towards leaner common path in Lexer.advance 2013-02-23 01:30:41 +04:00
Dmitry Olshansky 0c97b2f573 Redo hash table to avoid array append & GC lock/unlock
Also save hash to speed up in case of collisions & allow future re-hashing.
2013-02-23 00:50:37 +04:00
Dmitry Olshansky e4baf99ca4 avoid creating html-entity AA at start-up - 10% speed up(!)
This is not even remotely funny creating this huge AA
at run-time took around 10% of the whole time to lex std.datetime
2013-02-23 00:00:19 +04:00
Hackerpilot 119c6b917d code cleanup 2013-02-20 22:36:55 -08:00
Hackerpilot 89d18755b8 Merged changes from @blackwhale. Added and fixed unit tests. 2013-02-18 02:45:57 +00:00
Hackerpilot b4220c473b Merged changes from @blackwhale. Added and fixed unit tests. 2013-02-18 02:32:36 +00:00
Hackerpilot c61e5d2a88 refactoring 2013-02-16 21:48:42 -08:00
Hackerpilot 102836503f unit test coverage 2013-02-14 22:24:15 +00:00
Hackerpilot 9c3cde0d94 Merge branch 'range-based-lexer' of https://github.com/Hackerpilot/Dscanner into range-based-lexer 2013-02-14 20:05:53 +00:00
Hackerpilot ab222f7aef unit tests 2013-02-14 19:59:11 -08:00
Hackerpilot d756149b52 for the parser 2013-02-14 20:05:50 +00:00
Hackerpilot 655087d65b more faster 2013-02-08 08:37:24 +00:00
Hackerpilot 62c27452ca Include string cache changes from @blackwhale 2013-02-08 06:35:41 -08:00
Hackerpilot 61704db501 Bug fixes for character literals and escape sequences 2013-02-08 06:10:18 -08:00
Hackerpilot c904bad110 escape sequences 2013-02-08 04:32:00 -08:00
Hackerpilot 9942ebcf5b More optimizations 2013-02-05 21:45:31 -08:00
Hackerpilot 511c785675 Even faster 2013-02-05 01:04:45 +00:00
Hackerpilot 5a6477f2ee More faster-er. 2013-02-04 16:34:58 -08:00
Hackerpilot 0b8834a1b3 Small code cleanup. Added ldc build command. 2013-02-03 16:20:52 +00:00
Hackerpilot 4adaae9e06 Better performance 2013-02-03 01:32:16 +00:00
Hackerpilot ccb4023ec0 ddoc generation script 2013-02-02 20:17:49 +00:00
Hackerpilot 9e0c334276 Massive code refactoring. 2013-02-02 20:13:19 +00:00
Hackerpilot fe7a6bf4b0 Following Phobos style guide more closely 2013-02-01 22:19:40 -08:00
Hackerpilot bd4f5cd85a Do not allocate when lexing keywords and operators 2013-02-01 01:42:20 -08:00
Hackerpilot a5ed81b711 4 times as fast 2013-01-30 02:08:35 +00:00
Hackerpilot 1055a47087 Merge branch 'range-based-lexer' of https://github.com/Hackerpilot/Dscanner into range-based-lexer 2013-01-27 14:22:11 +00:00
Hackerpilot 31ffb3f470 compile errors 2013-01-27 14:21:04 -08:00
Hackerpilot 31f59384b9 parser fixes 2013-01-27 14:00:14 -08:00
Hackerpilot e7555b2f05 struct 2013-01-27 14:22:09 +00:00
Hackerpilot 9a6e765335 Special tokens, ddoc, better highlighter colors 2013-01-27 01:09:02 +00:00
Hackerpilot c7b84ca0cc DDOC 2013-01-24 13:55:31 -08:00
Hackerpilot 9e670cca65 Built-in types are keywords 2013-01-24 11:02:09 -08:00
Hackerpilot f4b001f623 Fixed filtering of comments, whitespace, etc. 2013-01-23 13:36:32 -08:00
Hackerpilot bd97d1b393 special token sequence 2013-01-22 17:42:26 -08:00
Hackerpilot fbfdc37cf5 Moved lexer over to std.d 2013-01-21 17:39:59 +00:00