summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* better testerAraq2014-01-171-2/+2
|
* Merge branch 'devel' of https://github.com/Araq/Nimrod into develAraq2014-01-175-390/+463
|\
| * Merge pull request #814 from discoloda/develAndreas Rumpf2014-01-145-390/+463
| |\ | | | | | | Many small improvements to c2nim
| | * Applied Araq's suggestions for c2nimVincent Burns2014-01-142-9/+11
| | |
| | * removed hack for return statementVincent Burns2014-01-142-9/+14
| | |
| | * Slightly better type parsing for parameters and cast expressionsVincent Burns2014-01-142-7/+46
| | |
| | * Fix for expression parsing, 'new' is a valid C symbolVincent Burns2014-01-131-6/+9
| | |
| | * Fix for some comments during if statementsVincent Burns2014-01-133-1/+25
| | | | | | | | | | | | added test files
| | * Support more proper do..while statementsVincent Burns2014-01-131-9/+39
| | |
| | * for statements support comma expressionsVincent Burns2014-01-131-2/+4
| | |
| | * New expression parserVincent Burns2014-01-121-350/+274
| | | | | | | | | | | | tests pass
| | * Properly lex floating constantsVincent Burns2014-01-121-5/+20
| | | | | | | | | | | | | | | | | | digit-sequence? '.' digit-sequence exponent-part? digit-sequence '.' exponent-part? exponent-part: [eE] [+-]? digit-sequence
| | * Lex '\xHH' character constantsVincent Burns2014-01-121-0/+17
| | |
| | * Added spliceHeader option to c2nimVincent Burns2014-01-121-5/+17
| | | | | | | | | | | | parse a header file first, then the source. completing a c 'module'
* | | better html generator for the tester; fixes some VM bugsAraq2014-01-175-27/+156
|/ /
* | Merge branch 'devel' of https://github.com/Araq/Nimrod into develAraq2014-01-1331-709/+1056
|\|
| * fix bootstrapping on windowsZahary Karadjov2014-01-061-1/+3
| |
| * progress towards fixing tgenericshardcasesZahary Karadjov2014-01-067-33/+130
| |
| * introduce tyFromExpr; fixes #618Zahary Karadjov2014-01-0410-27/+61
| |
| * fixed #597Zahary Karadjov2014-01-024-28/+59
| |
| * clean-up some obsolete code; close #602Zahary Karadjov2013-12-315-205/+59
| |
| * Templates will pick the candidate in the nearest scope when symbols are mixed-inZahary Karadjov2013-12-316-16/+32
| |
| * migrate the static param handling to ReplaceTypeVars; fix tgenericvariantZahary Karadjov2013-12-305-25/+37
| |
| * properly remove intLiterals from proc signatures; fixes trettypeinferenceZahary Karadjov2013-12-301-5/+13
| |
| * handle recursive types during the instantiation of meta types; propagate ↵Zahary Karadjov2013-12-304-26/+86
| | | | | | | | tfHasMeta more carefully
| * Introduce a PreMain proc in the C codegenZahary Karadjov2013-12-302-39/+62
| | | | | | | | | | | | | | | | 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.
| * proc redefinition search based on the type system instead of on sloppy AST ↵Zahary Karadjov2013-12-303-30/+48
| | | | | | | | | | | | | | | | | | | | 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
| * restore return type inferenceZahary Karadjov2013-12-302-1/+4
| |
| * fix the filtering of void params in procs' signaturesZahary Karadjov2013-12-291-4/+20
| |
| * Merge branch 'upstream' into develZahary Karadjov2013-12-2925-399/+572
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * integrate the logic of fixupProcType into ReplaceTypeVarsZahary Karadjov2013-12-297-42/+76
| | |
| | * make more tests greenZahary Karadjov2013-12-2910-69/+97
| | |
| | * fix tclosure4Zahary Karadjov2013-12-282-6/+12
| | |
| | * fix illegal recursion checksZahary Karadjov2013-12-281-4/+7
| | |
| | * lift generic parameters from concrete composite type classesZahary Karadjov2013-12-284-19/+29
| | |
| | * towards support for composite type classes such as seq[Number] and ↵Zahary Karadjov2013-12-277-26/+57
| | | | | | | | | | | | SquareMatrix[T]
| | * bugfix: in some contexts, newSeq[T](n) is incorrectly inferred to have a ↵Zahary Karadjov2013-12-261-2/+4
| | | | | | | | | | | | seq[typedesc[T]] type
| | * better integration of tyStatic into typeRelZahary Karadjov2013-12-259-58/+66
| | |
| | * wip type class reforms (the compiler bootstraps fine)Zahary Karadjov2013-12-258-99/+94
| | | | | | | | | | | | | | | | | | * replace tfAny and tfAll with tyAnd and tyOr * integrate matchTypeClass into typeRel * introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
| | * make the current PContext accessible through TCandidateZahary Karadjov2013-12-255-46/+53
| | | | | | | | | | | | | | | | | | 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)
| | * documented static paramsZahary Karadjov2013-12-251-0/+2
| | |
| | * static params: expr[T] is now static[T]Zahary Karadjov2013-12-1917-94/+118
| | | | | | | | | | | | | | | | | | | | | This introduces tyStatic and successfully bootstraps and handles few simple test cases. Static params within macros are no longer treated as PNimrodNodes - they are now equivalent to constants of the designated type.
* | | bugfix: renderer supports 'ptr' etc. as type constraintAraq2014-01-121-4/+5
| | |
* | | new vm: bugfixAraq2014-01-121-1/+1
| | |
* | | case consistency improvementsAraq2014-01-111-1/+1
|/ /
* | case consistency: cs:partial bootstraps on windowsAraq2013-12-2949-314/+321
| |
* | case consistency: next stepsAraq2013-12-2958-311/+310
| |
* | improvements for 'pretty'Araq2013-12-283-14/+23
| |
* | case consistency part 9Araq2013-12-283-64/+64
| |
* | case consistency part 8Araq2013-12-284-62/+62
| |