From 1c5e34f19d22b1462dc69d69608de92dbe5df590 Mon Sep 17 00:00:00 2001 From: helly Date: Thu, 22 Feb 2007 01:19:58 +0000 Subject: [PATCH] - Try to clearify code --- re2c/code.cc | 15 +++++++++------ re2c/globals.h | 1 + re2c/main.cc | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/re2c/code.cc b/re2c/code.cc index 9af34cdb..9381e66e 100644 --- a/re2c/code.cc +++ b/re2c/code.cc @@ -1750,24 +1750,27 @@ void Scanner::config(const Str& cfg, const Str& val) } else if (mapCodeKeys.find(cfg.to_string()) != mapCodeKeys.end()) { - if ((bSinglePass || !bLastPass) - && !mapCodeName.insert(std::make_pair(cfg.to_string().substr(sizeof("code:") - 1), strVal)).second) + if (bFirstPass && !mapCodeName.insert( + std::make_pair(cfg.to_string().substr(sizeof("code:") - 1), strVal) + ).second) { fatal("variable already being used and cannot be changed"); } } else if (mapDefineKeys.find(cfg.to_string()) != mapDefineKeys.end()) { - if ((bSinglePass || !bLastPass) - && !mapCodeName.insert(std::make_pair(cfg.to_string().substr(sizeof("define:") - 1), strVal)).second) + if (bFirstPass && !mapCodeName.insert( + std::make_pair(cfg.to_string().substr(sizeof("define:") - 1), strVal) + ).second) { fatal("define already being used and cannot be changed"); } } else if (mapLabelKeys.find(cfg.to_string()) != mapLabelKeys.end()) { - if ((bSinglePass || !bLastPass) - && !mapCodeName.insert(std::make_pair(cfg.to_string().substr(sizeof("label:") - 1), strVal)).second) + if (bFirstPass && !mapCodeName.insert( + std::make_pair(cfg.to_string().substr(sizeof("label:") - 1), strVal) + ).second) { fatal("label already being used and cannot be changed"); } diff --git a/re2c/globals.h b/re2c/globals.h index adcdd4a2..e4f527c6 100644 --- a/re2c/globals.h +++ b/re2c/globals.h @@ -26,6 +26,7 @@ extern bool uFlag; extern bool wFlag; extern bool bSinglePass; +extern bool bFirstPass; extern bool bLastPass; extern bool bUsedYYAccept; diff --git a/re2c/main.cc b/re2c/main.cc index 7f3f6dd6..29548ea3 100644 --- a/re2c/main.cc +++ b/re2c/main.cc @@ -32,6 +32,7 @@ bool uFlag = false; bool wFlag = false; bool bSinglePass = false; +bool bFirstPass = true; bool bLastPass = false; bool bUsedYYAccept = false; @@ -327,6 +328,7 @@ int main(int argc, char *argv[]) next_fill_index = 0; bWroteGetState = false; bUsedYYMaxFill = false; + bFirstPass = false; } bLastPass = true; -- 2.50.1