Commit Graph

74 Commits

Author SHA1 Message Date
Araq
2bd14f4ba8 GC tests now finally part of testsuite 2011-11-10 02:13:02 +01:00
Araq
cacb200eff fixes #2 2011-11-02 02:47:34 +01:00
Araq
51e01879ba 'bind' as a declarative statement 2011-10-10 02:04:15 +02: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
92543a3037 more fixes to get rid of tyPureObject 2011-09-24 11:50:46 +02:00
Araq
2359b8b107 fixed some newly introduced bugs 2011-09-21 00:54:13 +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
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
7a6140e3a4 fixes #42 2011-08-04 19:47:35 +02:00
Araq
f0145ba7c5 anonymous procs implemented; however no closure support yet 2011-08-01 08:39:27 +02:00
Araq
4f7fa05911 void type improvements; documentation improvements 2011-07-31 14:57:38 +02:00
Araq
00da785f5d void type for generics 2011-07-31 01:11:34 +02:00
Araq
6781da5215 bugfix: forwarding of generic procs now works 2011-07-30 10:42:51 +02:00
Araq
dce8949b9b bugfix: 'final' not passed to generic 2011-07-29 01:25:05 +02:00
Araq
a6daf71520 old pointer deref operator completely removed 2011-07-23 20:19:05 +02:00
Araq
246b8d18a1 tests repaired; serious typo in the allocator fixed; fixes #32 2011-07-22 23:58:19 +02:00
Araq
5b96eaa953 preparations for 0.8.12 2011-07-10 15:48:13 +02:00
Araq
5c94a9e1ae tests are green again 2011-06-28 01:31:53 +02:00
Araq
e25384db89 improvements to get code size down for programs that don't use GC 2011-06-26 20:17:19 +02:00
Araq
990dc2d715 code gen bugfixes; marshal.nim implemented 2011-06-26 17:21:52 +02:00
Araq
c3f11d1637 bugfix: invoking a generic iterator twice triggers a code gen bug (titer2) 2011-06-20 01:28:41 +02:00
Araq
18bec94e22 bugfix: typeinfo generation for tuples 2011-06-19 15:47:10 +02:00
Araq
9a8b39c85b rebuilt csources; bootstrap should work again 2011-06-15 17:52:04 +02:00
Araq
f7884717c1 bugfix: proper return types for templates 2011-06-15 12:35:47 +02:00
Araq
a15475f582 tuple unpacking is not enforced in for loops anymore 2011-06-15 10:15:32 +02:00
Araq
9f9f0f0818 basic thread analysis working 2011-06-13 16:22:19 +02:00
Araq
3e9dcc8be5 deprecated system.copy: use system.substr instead 2011-05-14 01:13:44 +02:00
Araq
f45967537f loop unrolled for stack marking 2011-05-13 19:14:49 +02:00
Araq
6ff8752be5 cleaned up the tests; fixes #30; fixes #26 2011-05-01 20:11:55 +02:00
Araq
8dda362fa6 slices are first class citizens 2011-04-22 10:53:43 +02:00
Araq
d1b766cec0 hashtables: 1st version; parseutils additions 2011-04-18 23:41:31 +02:00
Araq
48dd9679bd := templatable; lexer improvements 2011-04-17 20:17:45 +02:00
Araq
46c41e4369 p[] instead of p^ 2011-04-11 23:28:53 +02:00
Araq
fc6cc79273 some tests cleaned up; some bugfixes 2011-04-11 00:25:24 +02:00
dom96
ffd05510bd fixes #27 2011-04-04 23:12:24 +01:00
Araq
4741e8f9a1 ugh, maybe broke git 2011-04-01 15:07:16 +02:00
Araq
dc669155e3 some little bugfixes 2011-03-27 00:33:20 +01:00
Araq
bd4f0b94ae added 'reset' magic proc 2011-03-25 01:49:42 +01:00
Araq
032599c156 bugfix: type converter that converts to bool in 'if' context 2011-03-25 00:47:03 +01:00
Araq
5b789f2da8 bugfixes; field discriminant checks; linearScanEnd, unroll, shallow pragmas 2011-03-23 01:09:52 +01:00
Araq
8d734244b1 linearScanEnd pragma; string case statement optimization 2011-03-14 23:57:41 +01:00
Araq
f9c6cec90c bugfix: tuple access in macros (issue #17) 2011-03-07 00:33:43 +01:00
Araq
3005955d20 distinction between re.replace and re.replacef; speed improvements for re module 2011-03-06 21:16:05 +01:00
Araq
e424e13bd9 various bugfixes for generics; added generic sort proc 2011-03-03 02:01:22 +01:00
Araq
5b28d08203 non-nil AST; continue after errors for IDE support 2011-02-12 19:24:20 +01:00
Araq
dbc5048a9a c2nim compiles again [#9 state:resolved]; better error message for named parameters 2011-01-09 19:02:06 +01:00