Commit Graph

69 Commits

Author SHA1 Message Date
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