version 0.7.4

This commit is contained in:
Andreas Rumpf
2009-01-07 17:03:25 +01:00
parent 1c8ddca7e0
commit 439aa2d04d
114 changed files with 13664 additions and 10110 deletions

View File

@@ -1,5 +1,5 @@
Advanced commands::
pas convert a Pascal file to Nimrod standard syntax
pas convert a Pascal file to Nimrod syntax
pretty pretty print the inputfile
gen_depend generate a DOT file containing the
module dependency graph

View File

@@ -41,6 +41,7 @@
'sfCompileTime', # proc can be evaluated at compile time
'sfThreadVar', # variable is a thread variable
'sfMerge', # proc can be merged with itself
'sfDeadCodeElim', # dead code elimination for the module is turned on
],
'TypeFlag': [
@@ -116,7 +117,7 @@
# end of atoms
'nkDotCall', # used to temporarily flag a nkCall node; this is used
# for transforming ``s.len`` to ``len(s)``
'nkCommand', # a call like ``p 2 4`` without parenthesis
'nkCommand', # a call like ``p 2, 4`` without parenthesis
'nkCall', # a call like p(x, y) or an operation like +(a, b)
'nkGenericCall', # a call with given type parameters
'nkExplicitTypeListCall', # a call with given explicit typelist
@@ -125,6 +126,7 @@
'nkIdentDefs', # a definition like `a, b: typeDesc = expr`
# either typeDesc or expr may be nil; used in
# formal parameters, var statements, etc.
'nkVarTuple', # a ``var (a, b) = expr`` construct
'nkInfix', # a call like (a + b)
'nkPrefix', # a call like !a
'nkPostfix', # something like a! (also used for visibility)
@@ -166,6 +168,7 @@
# end of expressions
'nkAsgn', # a = b
'nkFastAsgn', # internal node for a fast ``a = b`` (no string copy)
'nkDefaultTypeParam', # `ident = typeDesc` in generic parameters
'nkGenericParams', # generic parameters
'nkFormalParams', # formal parameters

View File

@@ -24,6 +24,7 @@ Options:
--bound_checks:on|off code generation for bound checks ON|OFF
--overflow_checks:on|off code generation for over-/underflow checks ON|OFF
-a, --assertions:on|off code generation for assertions ON|OFF
--dead_code_elim:on|off whole program dead code elimination ON|OFF
--opt:none|speed|size optimize not at all or for speed|size
--app:console|gui|lib generate a console|GUI application or a shared lib
-r, --run run the compiled program with given arguments

View File

@@ -140,6 +140,7 @@
'FloatToStr',
'CStrToStr',
'StrToStr',
'EnumToStr',
# special ones:
'And',
@@ -209,6 +210,8 @@
'NimrodMinor',
'NimrodPatch',
'CpuEndian',
'HostOS',
'HostCPU',
'NaN',
'Inf',
'NegInf',

View File

@@ -142,7 +142,7 @@
'selector must be of an ordinal type'},
{'errOrdXMustNotBeNegative': 'ord($1) must not be negative'},
{'errLenXinvalid': 'len($1) must be less than 32768'},
{'errWrongNumberOfLoopVariables': 'wrong number of loop variables'},
{'errWrongNumberOfVariables': 'wrong number of variables'},
{'errExprCannotBeRaised': 'only objects can be raised'},
{'errBreakOnlyInLoop': "'break' only allowed in loop construct"},
{'errTypeXhasUnknownSize': "type '$1' has unknown size"},