diff options
author | Rustan Leino <leino@microsoft.com> | 2011-05-13 14:38:28 -0700 |
---|---|---|
committer | Rustan Leino <leino@microsoft.com> | 2011-05-13 14:38:28 -0700 |
commit | a3d7bd9b4a7b62cb0d8e4b0762d8db51c1548f1e (patch) | |
tree | 7399c9f5e251cd3d5c2d1641cea1e1b4623466e8 /Source/BoogieDriver | |
parent | 2178536246cab25a4564a15c05a6d2fcb4ac54ca (diff) |
Boogie: added features to help with modular verification. In particular, define FILE_n when parsing file n on the command line, and support :extern and :ignore attributes on top-level declarations.
Diffstat (limited to 'Source/BoogieDriver')
-rw-r--r-- | Source/BoogieDriver/BoogieDriver.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/BoogieDriver/BoogieDriver.cs b/Source/BoogieDriver/BoogieDriver.cs index 3929e237..dcc007fe 100644 --- a/Source/BoogieDriver/BoogieDriver.cs +++ b/Source/BoogieDriver/BoogieDriver.cs @@ -261,7 +261,8 @@ namespace Microsoft.Boogie { //BoogiePL.Errors.count = 0;
Program program = null;
bool okay = true;
- foreach (string bplFileName in fileNames) {
+ for (int fileId = 0; fileId < fileNames.Count; fileId++) {
+ string bplFileName = fileNames[fileId];
if (!suppressTraceOutput) {
if (CommandLineOptions.Clo.XmlSink != null) {
CommandLineOptions.Clo.XmlSink.WriteFileFragment(bplFileName);
@@ -274,7 +275,8 @@ namespace Microsoft.Boogie { Program programSnippet;
int errorCount;
try {
- errorCount = BoogiePL.Parser.Parse(bplFileName, null, out programSnippet);
+ var defines = new List<string>() { "FILE_" + fileId };
+ errorCount = BoogiePL.Parser.Parse(bplFileName, defines, out programSnippet);
if (programSnippet == null || errorCount != 0) {
Console.WriteLine("{0} parse errors detected in {1}", errorCount, bplFileName);
okay = false;
|