summaryrefslogtreecommitdiff
path: root/Source/Core/BoogiePL.atg
diff options
context:
space:
mode:
authorGravatar wuestholz <unknown>2014-09-23 13:29:53 +0200
committerGravatar wuestholz <unknown>2014-09-23 13:29:53 +0200
commit8bb1e486770ccc399c86c713b7808b0dee5971d5 (patch)
tree6a19d24a06616b12836a55cacc8ac6ebdb0e2ad9 /Source/Core/BoogiePL.atg
parentfb226b8b4b9315a0ad2df1fcd1b4a7f12e118791 (diff)
Did more refactoring.
Diffstat (limited to 'Source/Core/BoogiePL.atg')
-rw-r--r--Source/Core/BoogiePL.atg26
1 files changed, 13 insertions, 13 deletions
diff --git a/Source/Core/BoogiePL.atg b/Source/Core/BoogiePL.atg
index e954944f..644a5d3d 100644
--- a/Source/Core/BoogiePL.atg
+++ b/Source/Core/BoogiePL.atg
@@ -31,7 +31,7 @@ readonly StructuredCmd/*!*/ dummyStructuredCmd;
///Returns the number of parsing errors encountered. If 0, "program" returns as
///the parsed program.
///</summary>
-public static int Parse (string/*!*/ filename, /*maybe null*/ List<string/*!*/> defines, out /*maybe null*/ Program program) /* throws System.IO.IOException */ {
+public static int Parse (string/*!*/ filename, /*maybe null*/ List<string/*!*/> defines, out /*maybe null*/ Program program, bool useBaseName=false) /* throws System.IO.IOException */ {
Contract.Requires(filename != null);
Contract.Requires(cce.NonNullElements(defines,true));
@@ -41,25 +41,25 @@ public static int Parse (string/*!*/ filename, /*maybe null*/ List<string/*!*/>
if (filename == "stdin.bpl") {
var s = ParserHelper.Fill(Console.In, defines);
- return Parse(s, filename, out program);
+ return Parse(s, filename, out program, useBaseName);
} else {
FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
var s = ParserHelper.Fill(stream, defines);
- var ret = Parse(s, filename, out program);
+ var ret = Parse(s, filename, out program, useBaseName);
stream.Close();
return ret;
}
}
-public static int Parse (string s, string/*!*/ filename, out /*maybe null*/ Program program) /* throws System.IO.IOException */ {
+public static int Parse (string s, string/*!*/ filename, out /*maybe null*/ Program program, bool useBaseName=false) /* throws System.IO.IOException */ {
Contract.Requires(s != null);
Contract.Requires(filename != null);
byte[]/*!*/ buffer = cce.NonNull(UTF8Encoding.Default.GetBytes(s));
MemoryStream ms = new MemoryStream(buffer,false);
Errors errors = new Errors();
- Scanner scanner = new Scanner(ms, errors, filename);
+ Scanner scanner = new Scanner(ms, errors, filename, useBaseName);
Parser parser = new Parser(scanner, errors, false);
parser.Parse();
@@ -168,31 +168,31 @@ BoogiePL
.)
{ Consts<out vs> (. foreach(Bpl.Variable/*!*/ v in vs){
Contract.Assert(v != null);
- Pgm.TopLevelDeclarations.Add(v);
+ Pgm.AddTopLevelDeclaration(v);
}
.)
| Function<out ds> (. foreach(Bpl.Declaration/*!*/ d in ds){
Contract.Assert(d != null);
- Pgm.TopLevelDeclarations.Add(d);
+ Pgm.AddTopLevelDeclaration(d);
}
.)
- | Axiom<out ax> (. Pgm.TopLevelDeclarations.Add(ax); .)
+ | Axiom<out ax> (. Pgm.AddTopLevelDeclaration(ax); .)
| UserDefinedTypes<out ts> (. foreach(Declaration/*!*/ td in ts){
Contract.Assert(td != null);
- Pgm.TopLevelDeclarations.Add(td);
+ Pgm.AddTopLevelDeclaration(td);
}
.)
| GlobalVars<out vs> (. foreach(Bpl.Variable/*!*/ v in vs){
Contract.Assert(v != null);
- Pgm.TopLevelDeclarations.Add(v);
+ Pgm.AddTopLevelDeclaration(v);
}
.)
- | Procedure<out pr, out im> (. Pgm.TopLevelDeclarations.Add(pr);
+ | Procedure<out pr, out im> (. Pgm.AddTopLevelDeclaration(pr);
if (im != null) {
- Pgm.TopLevelDeclarations.Add(im);
+ Pgm.AddTopLevelDeclaration(im);
}
.)
- | Implementation<out nnim> (. Pgm.TopLevelDeclarations.Add(nnim); .)
+ | Implementation<out nnim> (. Pgm.AddTopLevelDeclaration(nnim); .)
}
EOF
.