Andreas Rumpf
0132f350af
Merge pull request #814 from discoloda/devel
...
Many small improvements to c2nim
2014-01-14 13:42:20 -08:00
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
Araq
51ee524109
Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
2014-01-13 01:22:03 +01:00
Vincent Burns
570f8b21e1
New expression parser
...
tests pass
2014-01-12 17:13:23 -05:00
Araq
616434c492
bugfix: renderer supports 'ptr' etc. as type constraint
2014-01-12 21:41:52 +01:00
Araq
137e971547
new vm: bugfix
2014-01-12 21:40:24 +01: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
Araq
346443d1b5
case consistency improvements
2014-01-11 21:56:05 +01: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
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
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
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
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
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
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
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