Commit Graph

2672 Commits

Author SHA1 Message Date
Vincent Burns
aec9195c95 Applied Araq's suggestions for c2nim 2014-01-14 16:35:00 -05:00
Vincent Burns
5395347582 removed hack for return statement 2014-01-14 12:05:14 -05:00
Vincent Burns
d35dedf041 Slightly better type parsing for parameters and cast expressions 2014-01-14 11:22:59 -05:00
Vincent Burns
d9a61c13dd Fix for expression parsing, 'new' is a valid C symbol 2014-01-13 02:01:10 -05:00
Vincent Burns
5f905865be Fix for some comments during if statements
added test files
2014-01-13 01:51:36 -05:00
Vincent Burns
58855c2fc7 Support more proper do..while statements 2014-01-13 01:42:26 -05:00
Vincent Burns
97eaeb3aec for statements support comma expressions 2014-01-13 01:16:24 -05:00
Vincent Burns
570f8b21e1 New expression parser
tests pass
2014-01-12 17:13:23 -05:00
Vincent Burns
c5bd98b7db Properly lex floating constants
digit-sequence? '.' digit-sequence exponent-part?
digit-sequence '.' exponent-part?
exponent-part: [eE] [+-]? digit-sequence
2014-01-12 13:23:52 -05:00
Vincent Burns
2dc91cb4d5 Lex '\xHH' character constants 2014-01-12 12:53:25 -05:00
Vincent Burns
0a0fec4a5c Added spliceHeader option to c2nim
parse a header file first, then the source. completing a c 'module'
2014-01-12 12:48:06 -05:00
Zahary Karadjov
1280c56f38 fix bootstrapping on windows 2014-01-06 00:16:16 +02:00
Zahary Karadjov
1ffae7cbaf progress towards fixing tgenericshardcases 2014-01-06 00:15:55 +02:00
Zahary Karadjov
789ba107cf introduce tyFromExpr; fixes #618 2014-01-04 13:10:52 +02:00
Zahary Karadjov
02533c260b fixed #597 2014-01-02 17:55:18 +02:00
Zahary Karadjov
8e0941576f clean-up some obsolete code; close #602 2013-12-31 12:39:43 +02:00
Zahary Karadjov
ed3ab6539d close #517 2013-12-31 04:13:51 +02:00
Zahary Karadjov
8f3d5a25a6 Templates will pick the candidate in the nearest scope when symbols are mixed-in 2013-12-31 04:04:59 +02:00
Zahary Karadjov
754e2ef1db migrate the static param handling to ReplaceTypeVars; fix tgenericvariant 2013-12-30 19:15:41 +02:00
Zahary Karadjov
af7c3251cd properly remove intLiterals from proc signatures; fixes trettypeinference 2013-12-30 17:07:49 +02:00
Zahary Karadjov
7e24cf26de handle recursive types during the instantiation of meta types; propagate tfHasMeta more carefully 2013-12-30 16:06:32 +02:00
Zahary Karadjov
88873f7965 add incl/excl for sets accepting accepting other sets 2013-12-30 14:25:05 +02:00
Zahary Karadjov
046d829e5d Introduce a PreMain proc in the C codegen
The rationale here is that it has become too hard to step into a program
when #line directives are enabled. You have to skip over many lines of init
code that doesn't have corresponding lines in the nimrod program.
Now, you can just step-out of PreMain and go straight to the useful code
in NimMain.
2013-12-30 11:02:48 +02:00
Zahary Karadjov
e3f53409f6 proc redefinition search based on the type system instead of on sloppy AST matching
This will work the same for procs/templates/macros/etc, having arbitrary mix of implicit
and explicit generics (as long as the symbols are equivalent for the purposes of overload
resolution, they will be detected as redefinitions)

fixes tgeneric
2013-12-30 10:57:12 +02:00
Zahary Karadjov
fa3bb8d66b restore return type inference 2013-12-30 00:03:57 +02:00
Zahary Karadjov
723efe7cfb fix the filtering of void params in procs' signatures 2013-12-29 19:26:52 +02:00
Zahary Karadjov
afddae5aaf Merge branch 'upstream' into devel
Conflicts:
	compiler/ccgutils.nim
	compiler/msgs.nim
	compiler/sem.nim
	compiler/semexprs.nim
	compiler/seminst.nim
	compiler/semmagic.nim
	compiler/semstmts.nim
	compiler/semtypes.nim
	compiler/semtypinst.nim
	compiler/sigmatch.nim
	compiler/types.nim
	compiler/vmgen.nim
	lib/core/macros.nim
	lib/system.nim
	tests/reject/tenummix.nim
	web/news.txt
2013-12-29 17:21:00 +02:00
Zahary Karadjov
72291875bf integrate the logic of fixupProcType into ReplaceTypeVars 2013-12-29 16:08:33 +02:00
Araq
437cfa73ab todo.txt updated 2013-12-29 03:45:10 +01:00
Araq
4ed8cec7ca case consistency: niminst 2013-12-29 03:42:20 +01:00
Araq
286f166304 case consistency for linux 2013-12-29 03:32:46 +01:00
Araq
b731e6ef1c case consistency: cs:partial bootstraps on windows 2013-12-29 03:19:10 +01:00
Araq
438703f59e case consistency: next steps 2013-12-29 01:13:51 +01:00
Araq
1101a40f91 improvements for 'pretty' 2013-12-28 23:30:53 +01:00
Zahary Karadjov
66a2556525 make more tests green 2013-12-29 00:00:37 +02:00
Zahary Karadjov
eb1d23c0c7 fixes #787 2013-12-28 23:53:48 +02:00
Zahary Karadjov
5d75ce2f2e fix tclosure4 2013-12-28 15:07:30 +02:00
Zahary Karadjov
f34ca1a7d7 fix illegal recursion checks 2013-12-28 14:17:36 +02:00
Zahary Karadjov
a59f13b00d lift generic parameters from concrete composite type classes 2013-12-28 12:50:45 +02:00
Araq
f2b9905b4e case consistency part 9 2013-12-28 01:57:19 +01:00
Araq
e2648fa3fb case consistency part 8 2013-12-28 01:47:40 +01:00
Araq
7e0da3e8f7 case consistency part 7 2013-12-28 01:36:35 +01:00
Araq
bf205fa85d case consistency part 6 2013-12-28 01:17:02 +01:00
Araq
9c3751a37c case consistency part 5 2013-12-28 00:37:45 +01:00
Araq
92b8fac94a case consistency part 4 2013-12-27 23:10:36 +01:00
Araq
706266d8b7 case consistency part 3 2013-12-27 21:46:43 +01:00
Zahary Karadjov
a27eb51535 towards support for composite type classes such as seq[Number] and SquareMatrix[T] 2013-12-27 18:34:28 +02:00
Araq
a427648c48 case consistency part 2 2013-12-27 16:35:21 +01:00
Araq
2df9b442c6 case consistency part 1 2013-12-27 15:48:53 +01:00
Zahary Karadjov
4eea2f17d3 forgotten modification to the news files 2013-12-27 13:00:45 +02:00