Araq
c517639155
lazy loading of body ast implemented
2011-10-30 20:53:04 +01:00
Araq
299390a585
constant folding for cnst[i] and cnst.attr
2011-10-29 23:54:50 +02:00
Araq
90db9171a2
compilation cache: various bugfixes; works for the compiler itself
2011-10-27 00:41:42 +02:00
Araq
9fb36bd20c
compilation cache: mostly working; generics not yet
2011-10-25 15:26:36 +02:00
Araq
9fb97e24bf
compilation cache: multi methods now work
2011-10-24 00:56:47 +02:00
Araq
dce8d3d1ab
rod files: next trivial examples working
2011-10-22 22:49:51 +02:00
Araq
4de84024e5
much more efficient rod file generation
2011-10-18 17:21:51 +02:00
Araq
51e01879ba
'bind' as a declarative statement
2011-10-10 02:04:15 +02:00
Araq
c138cc36b4
new syntactic construct: a{i}
2011-10-08 02:14:42 +02:00
Zahary Karadjov
e3deb5b502
Cleaned up the circular dependecies and remaining issues
...
Changed: The []= operator for strings and sequences is now capable of splicing
2011-10-07 17:10:04 +03:00
Zahary Karadjov
22546c44d1
Basic unit testing facilities (suites, fixtures, cases)
...
Added: PNimrodNode.lineinfo for better error messages from macros
Added: seq.splice
For easier use from templates and macros, except stament now supports
the list of exception types to be supplied in nkBraket node (array literal).
2011-10-07 17:07:18 +03:00
Araq
42516c0086
code generator supports constant sequences; more consistent compile time evaluation
2011-10-07 09:02:08 +02:00
Araq
485c371942
renamed optional to discardable
2011-09-24 19:18:08 +02:00
Araq
72ceda98cb
implemented optional pragma for implicit discard
2011-09-24 13:55:24 +02:00
Araq
bd2d146c77
got rid of tyPureObject; broke bootstrapping; use generated C code
2011-09-24 09:35:00 +02:00
Araq
6023e994fb
beginning of a taint mode; type system enhancements
2011-09-24 00:46:41 +02:00
Zahary Karadjov
91351e5996
Initial implementation of the parseExpr, parseStmt, getAst macro routines:
...
proc parseExpr*(s: string) : expr {.magic: "ParseExprToAst".}
## Compiles the passed string to its AST representation
## Expects a single expression
proc parseStmt*(s: string) : stmt {.magic: "ParseStmtToAst".}
## Compiles the passed string to its AST representation
## Expects one or more statements
proc getAst*(macroOrTemplate: expr): expr {.magic: "ExpandMacroToAst".}
## Obtains the AST nodes returned from a macro or template invocation
## example:
## macro FooMacro() =
## var ast = getAst(BarTemplate())
Handling of the node.toYaml magic moved to the evaluation engine.
2011-09-20 14:13:45 +03:00
Zahary Karadjov
d541815e4b
Added AST introspection routines as a part of the standard library
2011-09-20 14:13:45 +03:00
Araq
fd62116f6e
bugfixes for generics; new threads implementation still broken
2011-09-20 00:56:48 +02:00
Araq
b0742c5b27
finally got rid of nkPassAsOpenArray
2011-08-16 08:56:53 +02:00
Araq
72e7a98543
added system.slurp for easy embedding of resources
2011-08-10 00:43:58 +02:00
Araq
5131b3cea4
support for C++ code generation; importcpp and importobjc pragmas
2011-08-07 21:02:09 +02:00
Araq
6a8a409f1b
preparation for new 'is' operator; breaks bootstrapping again, sorry (use generated C code)
2011-07-31 00:21:32 +02:00
Araq
dce8949b9b
bugfix: 'final' not passed to generic
2011-07-29 01:25:05 +02:00
Araq
2f066395ba
bugfixes; step one for 'var T' as return type support
2011-07-28 00:53:52 +02:00
Araq
99bcc233cd
bugfix: 'set' overloadable; further steps for multi threading support
2011-07-08 01:29:15 +02:00
Araq
3091bc4958
importCompilerProc pragma introduced because the hacks for typeinfo.nim did not suffice
2011-06-27 08:33:03 +02:00
Araq
f1100356b1
zipfiles compiles again; added system.shallowCopy
2011-06-20 23:20:11 +02:00
Araq
ade67f1abc
intsets are now a proper module and part of the stdlib
2011-06-14 01:36:49 +02:00
Araq
c019d17561
first (non working) implementation of global thread analysis
2011-06-13 01:40:22 +02:00
Araq
922e216b86
got rid of nstrtabs and nhashes modules
2011-06-10 22:49:06 +02:00
dom96
8b98ba9a63
Added typeinfo module
2011-06-09 22:23:29 +01:00
Araq
d2e2d71d05
newStringOfCap implemented and used to optimize some procs
2011-05-08 17:38:34 +02:00
Araq
6ff8752be5
cleaned up the tests; fixes #30 ; fixes #26
2011-05-01 20:11:55 +02:00
Araq
145fabeb67
const table support
2011-04-29 22:55:15 +02:00
Araq
cd292568d7
big repo cleanup
2011-04-12 01:13:42 +02:00