Commit Graph

2666 Commits

Author SHA1 Message Date
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
Zahary Karadjov
e2594f44bd bugfix: in some contexts, newSeq[T](n) is incorrectly inferred to have a seq[typedesc[T]] type 2013-12-26 01:09:10 +02:00
Zahary Karadjov
86108be24b test case for semistatic 2013-12-25 22:40:06 +02:00
Zahary Karadjov
edab4aaad0 better integration of tyStatic into typeRel 2013-12-25 22:29:44 +02:00
Zahary Karadjov
1d02f2ea53 wip type class reforms (the compiler bootstraps fine)
* replace tfAny and tfAll with tyAnd and tyOr
* integrate matchTypeClass into typeRel
* introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
2013-12-25 19:25:04 +02:00
Araq
9e92455a53 templates can access hidden fields 2013-12-25 14:53:00 +01:00
Zahary Karadjov
299cefdc98 make the current PContext accessible through TCandidate
the goal here is to remove all the hacks from ParamTypeMatch and to handle
all type matching in typeRel (the context there is required to evaluate any static
params and to run the compilation tests of user-defined type classes)
2013-12-25 00:58:22 +02:00