Commit Graph

72 Commits

Author SHA1 Message Date
Hackerpilot 8954fff8e4 Fixed decimal lexing and renamed stdx to std 2014-04-23 14:26:37 -07:00
Nick Sabalausky bd225ba085 Rename 'std.d.*' to 'stdx.d.*' so RDMD can correctly compile Dscanner. 2013-08-01 23:43:02 -04:00
Hackerpilot 86b552b312 Merged the range-based-lexer branch 2013-07-27 15:12:04 +00:00
Hackerpilot fe1bdef759 CTAGS and AST printing 2013-07-26 23:34:56 -07:00
Hackerpilot 6e5742167a More work on the dscanner / dcd split 2013-07-17 00:01:54 -07:00
Hackerpilot 7ceebb28a3 Basic CTags support based on the AST classes 2013-07-15 02:52:50 +00:00
Hackerpilot 9e63e396a4 Fixed lexing of integer dot identifier 2013-07-11 01:22:37 -07: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 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 2802eb20a9 More work on the parser 2013-06-22 17:23:30 -07:00
Hackerpilot 6dc1e4c2ff Can now actually parse some basic code 2013-06-10 09:30:02 +00:00
Hackerpilot 0e58854fa9 Lots of DDoc changes, some parser work 2013-06-01 17:51:45 +00:00
Hackerpilot e405a1ad2b Minor cleanup on lexer. More work on the parser and AST 2013-05-30 01:12:10 +00: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 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