Go to file
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
2011-04-12 01:13:42 +02:00
2010-10-21 00:12:14 +02:00
2011-01-31 08:50:30 +01:00

===========================================================
          Nimrod Compiler
===========================================================

This is the **Nimrod Compiler**. Nimrod is a new statically typed, imperative 
programming language, that supports procedural, functional, object oriented and 
generic programming styles while remaining simple and efficient. A special 
feature that Nimrod inherited from Lisp is that Nimrod's abstract syntax tree
(AST) is part of the specification - this allows a powerful macro system which 
can be used to create domain specific languages.

*Nimrod* is a compiled, garbage-collected systems programming language 
which has an excellent productivity/performance ratio. Nimrod's design 
focuses on the 3E: efficiency, expressiveness, elegance (in the order of 
priority). 

See the file ``install.txt`` for installation instructions. See the file
``doc/intern.txt`` for the internal documentation for developers.

Copyright (c) 2004-2011 Andreas Rumpf.
All rights reserved.
Description
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
Readme 701 MiB
Languages
Nim 96.4%
HTML 1.7%
Python 0.5%
C 0.4%
TLA 0.3%
Other 0.6%