Check-in [23fb1b4a0e]
Not logged in
Overview
SHA1 Hash:23fb1b4a0e3e6c9d29d883d2fcc1b8bad0ef6bd9
Date: 2010-11-26 21:22:18
User: kinaba
Comment:jikken before non-memo macro
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | manifest
Tags And Properties
Changes

Modified .poseidon from [76daaad38468db8e] to [561f5c90ad534f85].

7 <filter>*.d</filter> 7 <filter>*.d</filter> 8 <showemptyfolder>0</showemptyfolder> 8 <showemptyfolder>0</showemptyfolder> 9 <buildSpec> 9 <buildSpec> 10 <buildType>0</buildType> 10 <buildType>0</buildType> 11 <mainFile>main.d</mainFile> 11 <mainFile>main.d</mainFile> 12 <Args /> 12 <Args /> 13 <options> 13 <options> 14 <dmd> -g -unittest </dmd> | 14 <dmd> -g -profile -unittest </dmd> 15 <tool /> 15 <tool /> 16 <lib /> 16 <lib /> 17 <implib /> 17 <implib /> 18 <extra /> 18 <extra /> 19 <toolextra /> 19 <toolextra /> 20 <merge>0</merge> 20 <merge>0</merge> 21 <nonfiles>0</nonfiles> 21 <nonfiles>0</nonfiles>

Modified Makefile from [b49249a409a1c2fd] to [54d2b4a8056c4421].

1 .PHONY : all windows doc 1 .PHONY : all windows doc 2 2 3 DC=dmd 3 DC=dmd 4 DC_OPT=-O -release | 4 DC_OPT=-O -release -inline 5 SRC = $(wildcard *.d polemy/*.d tricks/*.d) 5 SRC = $(wildcard *.d polemy/*.d tricks/*.d) 6 6 7 7 8 8 9 posix: 9 posix: 10 $(DC) $(DC_OPT) -ofbin/polemy $(SRC) 10 $(DC) $(DC_OPT) -ofbin/polemy $(SRC) 11 11

Modified build.bat from [b5142898fa4accdf] to [4a978e9aa8f5388f].

1 @setlocal ENABLEDELAYEDEXPANSION 1 @setlocal ENABLEDELAYEDEXPANSION 2 @set ARGS= 2 @set ARGS= 3 @for %%I in (main.d polemy\*.d tricks\*.d) do @set ARGS=!ARGS! %%I 3 @for %%I in (main.d polemy\*.d tricks\*.d) do @set ARGS=!ARGS! %%I 4 @if not exist bin mkdir bin 4 @if not exist bin mkdir bin 5 @echo dmd -ofbin\polemy.exe -O -release %ARGS% | 5 @echo dmd -ofbin\polemy.exe -O -release -inline %ARGS% 6 @dmd -ofbin\polemy.exe -O -release %ARGS% | 6 @dmd -ofbin\polemy.exe -O -release -inline %ARGS%

Modified polemy/parse.d from [45c4aa9e0628516e] to [454c7b7367a1305b].

630 assert_throw!UnexpectedEOF(parseString(`1+`)); 630 assert_throw!UnexpectedEOF(parseString(`1+`)); 631 assert_throw!ParseException(parseString(`1+2}`)); 631 assert_throw!ParseException(parseString(`1+2}`)); 632 assert_throw!UnexpectedEOF(parseString(`let "x"`)); 632 assert_throw!UnexpectedEOF(parseString(`let "x"`)); 633 assert_throw!UnexpectedEOF(parseString(`var`)); 633 assert_throw!UnexpectedEOF(parseString(`var`)); 634 assert_throw!ParseException(parseString(`@val x ==`)); 634 assert_throw!ParseException(parseString(`@val x ==`)); 635 assert_throw!ParseException(parseString(`if(){1}`)); 635 assert_throw!ParseException(parseString(`if(){1}`)); 636 assert_throw!UnexpectedEOF(parseString(`f(`)); 636 assert_throw!UnexpectedEOF(parseString(`f(`)); > 637 assert_throw!ParseException(parseString(`fun(x y){}`)); 637 } 638 } 638 639 639 unittest 640 unittest 640 { 641 { 641 mixin EasyAST; 642 mixin EasyAST; 642 assert_eq(parseString(`def foo(x) { x+1 }; foo`), 643 assert_eq(parseString(`def foo(x) { x+1 }; foo`), 643 let("foo", "", 644 let("foo", "",

Modified tricks/tricks.d from [00969146488cc3dc] to [784e82178988239d].

101 } 101 } 102 102 103 hash_t structuralHash(T)(T x) 103 hash_t structuralHash(T)(T x) 104 { 104 { 105 alias SC_Unqual!(T) UCT; 105 alias SC_Unqual!(T) UCT; 106 106 107 static if(is(UCT == class)) 107 static if(is(UCT == class)) 108 return (cast(UCT)x).toHash(); | 108 return (x is null ? 0 : (cast(UCT)x).toHash()); 109 else 109 else 110 static if(SC_HasGoodHash!(UCT)) 110 static if(SC_HasGoodHash!(UCT)) 111 { return typeid(UCT).getHash(&x); } 111 { return typeid(UCT).getHash(&x); } 112 else 112 else 113 static if(is(UCT T == T[])) 113 static if(is(UCT T == T[])) 114 { hash_t h; foreach(e; x) h+=structuralHash(e); return h; } 114 { hash_t h; foreach(e; x) h+=structuralHash(e); return h; } 115 else 115 else ................................................................................................................................................................................ 154 override bool opEquals(Object rhs) const /// member-by-member equality 154 override bool opEquals(Object rhs) const /// member-by-member equality 155 { 155 { 156 return opCmp(rhs) == 0; 156 return opCmp(rhs) == 0; 157 } 157 } 158 158 159 override int opCmp(Object rhs_) const /// member-by-member compare 159 override int opCmp(Object rhs_) const /// member-by-member compare 160 { 160 { 161 if( rhs_ is null ) < 162 return -1; < 163 if( auto rhs = cast(typeof(this))rhs_ ) 161 if( auto rhs = cast(typeof(this))rhs_ ) 164 { 162 { 165 foreach(i,_; this.tupleof) 163 foreach(i,_; this.tupleof) 166 { 164 { 167 static if(is(typeof(_) == struct)) 165 static if(is(typeof(_) == struct)) 168 auto c = (cast(SC_Unqual!(typeof(_)))thi 166 auto c = (cast(SC_Unqual!(typeof(_)))thi 169 else 167 else