better error message for invalid module names

This commit is contained in:
Araq
2011-04-16 09:11:24 +02:00
parent cd292568d7
commit e487c0a249
4 changed files with 5 additions and 19 deletions

View File

@@ -56,7 +56,7 @@ proc newModule(filename: string): PSym =
result.kind = skModule
result.name = getIdent(splitFile(filename).name)
if not isNimrodIdentifier(result.name.s):
rawMessage(errIdentifierExpected, result.name.s)
rawMessage(errInvalidModuleName, result.name.s)
result.owner = result # a module belongs to itself
result.info = newLineInfo(filename, 1, 1)

View File

@@ -19,6 +19,7 @@ type
errTabulatorsAreNotAllowed, errInvalidToken, errLineTooLong,
errInvalidNumber, errNumberOutOfRange, errNnotAllowedInCharacter,
errClosingBracketExpected, errMissingFinalQuote, errIdentifierExpected,
errInvalidModuleName,
errOperatorExpected, errTokenExpected, errStringAfterIncludeExpected,
errRecursiveDependencyX, errOnOrOffExpected, errNoneSpeedOrSizeExpected,
errInvalidPragma, errUnknownPragma, errInvalidDirectiveX,
@@ -119,6 +120,7 @@ const
errClosingBracketExpected: "closing ']' expected, but end of file reached",
errMissingFinalQuote: "missing final \'",
errIdentifierExpected: "identifier expected, but found \'$1\'",
errInvalidModuleName: "invalid module name: '$1'",
errOperatorExpected: "operator expected, but found \'$1\'",
errTokenExpected: "\'$1\' expected",
errStringAfterIncludeExpected: "string after \'include\' expected",

View File

@@ -1,6 +1,6 @@
=======================================================
The Nimrod Compiler
Copyright (C) 2004-2010 Andreas Rumpf
Copyright (C) 2004-2011 Andreas Rumpf
=======================================================
This program is free software; you can redistribute it and/or

View File

@@ -33,7 +33,6 @@ Possible Commands:
csource [options] builds the C sources for installation
zip builds the installation ZIP package
inno [options] builds the Inno Setup installer
git removes and adds generated C files to git
Boot options:
-d:release produce a release version of the compiler
-d:tinyc include the Tiny C backend (not supported on Windows)
@@ -77,17 +76,6 @@ proc web(args: string) =
exec("nimrod cc -r tools/nimweb.nim web/nimrod --putenv:nimrodversion=$#" %
NimrodVersion)
proc gitAux(dir: string) =
for kind, path in walkDir(dir):
if kind == pcDir:
var cfiles = path / "*.c"
when false: exec("git rm " & cfiles)
exec("git add " & cfiles)
gitAux(path)
proc git =
gitAux("build")
# -------------- boot ---------------------------------------------------------
const
@@ -97,10 +85,7 @@ proc findStartNimrod: string =
# we try several things before giving up:
# * bin/nimrod
# * $PATH/nimrod
# * bin/nim
# If these fail, we build nimrod with the "build.sh" script
# (but only on UNIX). Otherwise we try to compile "nim" with FPC
# and use "bin/nim".
# If these fail, we try to build nimrod with the "build.(sh|bat)" script.
var nimrod = "nimrod".exe
result = "bin" / nimrod
if ExistsFile(result): return
@@ -204,7 +189,6 @@ of cmdArgument:
of "zip": zip(op.cmdLineRest)
of "inno": inno(op.cmdLineRest)
of "install": install(op.cmdLineRest)
of "git": git()
else: showHelp()
of cmdEnd: showHelp()