Commit 6e28ed40 authored by Isaac Oscar Gariano's avatar Isaac Oscar Gariano

Fixed 3 minor bugs

	Will work properly if uint64_t is not the same as unsigned long
	Fixed make no_mu
	Will complain about invalid syntax if your entire UIR file isn't valid
parent 9686fb7d
......@@ -19,4 +19,4 @@ static:
g++ -O3 main.cpp parser/*.cpp -std=gnu++14 -Wall -I./include/ ./lib/libantlr4-runtime.a ./lib/libmu.a -lpthread -lm -ldl -lgmpxx -lgmp -o muc
no_mu:
g++ -O3 main.cpp parser/*.cpp -std=gnu++14 -DNO_MU -Wall -I./include/ -L./lib/ -lantlr4-runtime -o muc
g++ -O3 main.cpp parser/*.cpp -std=gnu++14 -DNO_MU -Wall -I./include/ -L./lib/ -lantlr4-runtime -lgmpxx -lgmp -o muc
......@@ -17,7 +17,7 @@
grammar UIR;
ir
: topLevelDef*
: topLevelDef* EOF
;
topLevelDef
......
// Copyright 2017 The Australian National University
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Copyright 2017 The Australian National University
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Contains stuff common to both RuntimeVisitor and CVisitor
#pragma once
......@@ -65,7 +65,9 @@ std::string list_to_string<std::vector<std::string>>(std::vector<std::string> v)
return value;
}
mpz_class mask_64(UINT64_MAX);
// This is converted to a string incase UINT64_MAX dosn't fit in an unsigned long
// (an mpz_class can't be constructed from a long long)
mpz_class mask_64(std::to_string(UINT64_MAX));
bool error = false; // Was there a syntax error?
std::string primordial_name;
std::stack<std::string> parent_names {}; // The names of the parent entitys
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment