Commit Graph

81 Commits

Author SHA1 Message Date
Hackerpilot eb09cd12c1 Disabled experimental SIMD code 2014-06-11 13:26:55 -07:00
Hackerpilot 19777a5931 SIMD speed hacks 2014-06-09 16:23:56 -07:00
Matthew Brennan Jones ed188ee9be Small cleanup of style and junk comments. 2014-05-29 17:19:25 -07:00
Hackerpilot e3d8e448bc Move string interning out of std.lexer 2014-05-26 02:52:00 +00:00
Hackerpilot db84119e33 Handle Unicode byte order marks 2014-05-19 13:40:35 -07:00
Hackerpilot 19dc7c707f Attempt to fix some issues with string interning 2014-05-18 08:13:23 +00:00
Hackerpilot 017b90e31f Merge branch 'master' of https://github.com/Hackerpilot/Dscanner 2014-05-08 02:45:07 -07:00
Hackerpilot 3081fa86c2 Fix highlighting of special token sequences and script lines 2014-05-06 16:41:19 -07:00
Hackerpilot 258aa066f7 Fix #172 2014-05-06 16:10:16 -07:00
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