From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1499) id AACE73858C52; Thu, 1 Sep 2022 21:22:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AACE73858C52 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1662067330; bh=VeiND4mAoLJWrztu1PT/oLPQXfAO08P+VFmcBfaKYcU=; h=From:To:Subject:Date:From; b=LPLgFNLvusaspl0S2PccQXnm8M9/TcNR/7TuXDZbFIqOimtUkXQclvHkxt0M5q3zt V5bFZZ8MSRqLRN7u/qYEP2U4TVAiiJMbSzpfDoprpsQQ6e2/Z/1lf3P+R25vRpfw9W f5P01GIU2+UWR9fuZYeIS3vHDt8E6zhjeBE+/S2A= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Gaius Mulley To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/modula-2] Bugfix mc visitIntrinsicFunction rewritten. X-Act-Checkin: gcc X-Git-Author: Gaius Mulley X-Git-Refname: refs/heads/devel/modula-2 X-Git-Oldrev: 3eced900a693cc7723451f7bd050e4fa402ac3e6 X-Git-Newrev: 06c977f80e4ec427c64edb92718a7231cfd8eb5b Message-Id: <20220901212210.AACE73858C52@sourceware.org> Date: Thu, 1 Sep 2022 21:22:10 +0000 (GMT) List-Id: https://gcc.gnu.org/g:06c977f80e4ec427c64edb92718a7231cfd8eb5b commit 06c977f80e4ec427c64edb92718a7231cfd8eb5b Author: Gaius Mulley Date: Thu Sep 1 22:20:57 2022 +0100 Bugfix mc visitIntrinsicFunction rewritten. Rewritten visitIntrinsicFunction to differentiate between the different kind of intrinic functions. gcc/m2/ChangeLog: * m2/mc/decl.mod (visitIntrinsicFunction): Rewritten. * m2/Make-maintainer.in (m2/boot-bin/mc-devel$(exeext)): Use -fuse-list= in place of -fuselist=. * m2/mc-boot/GDynamicStrings.c: Rebuilt. * m2/mc-boot/GFIO.c: Rebuilt. * m2/mc-boot/GIndexing.c: Rebuilt. * m2/mc-boot/GM2Dependent.c: Rebuilt. * m2/mc-boot/GM2EXCEPTION.c: Rebuilt. * m2/mc-boot/GPushBackInput.c: Rebuilt. * m2/mc-boot/GRTExceptions.c: Rebuilt. * m2/mc-boot/GRTint.c: Rebuilt. * m2/mc-boot/GStdIO.c: Rebuilt. * m2/mc-boot/GStringConvert.c: Rebuilt. * m2/mc-boot/GSysStorage.c: Rebuilt. * m2/mc-boot/Gdecl.c: Rebuilt. * m2/mc-boot/Gkeyc.c: Rebuilt. * m2/mc-boot/GmcComment.c: Rebuilt. * m2/mc-boot/GmcComp.c: Rebuilt. * m2/mc-boot/GmcDebug.c: Rebuilt. * m2/mc-boot/GmcMetaError.c: Rebuilt. * m2/mc-boot/GmcStack.c: Rebuilt. * m2/mc-boot/Gmcp1.c: Rebuilt. * m2/mc-boot/Gmcp2.c: Rebuilt. * m2/mc-boot/Gmcp3.c: Rebuilt. * m2/mc-boot/Gmcp4.c: Rebuilt. * m2/mc-boot/Gmcp5.c: Rebuilt. * m2/mc-boot/GnameKey.c: Rebuilt. * m2/mc-boot/GsymbolKey.c: Rebuilt. Signed-off-by: Gaius Mulley Diff: --- gcc/m2/Make-maintainer.in | 7 +- gcc/m2/mc-boot/GDynamicStrings.c | 32 +-- gcc/m2/mc-boot/GFIO.c | 6 +- gcc/m2/mc-boot/GIndexing.c | 6 +- gcc/m2/mc-boot/GM2Dependent.c | 3 + gcc/m2/mc-boot/GM2EXCEPTION.c | 4 +- gcc/m2/mc-boot/GPushBackInput.c | 6 +- gcc/m2/mc-boot/GRTExceptions.c | 34 ++-- gcc/m2/mc-boot/GRTint.c | 20 +- gcc/m2/mc-boot/GStdIO.c | 4 +- gcc/m2/mc-boot/GStringConvert.c | 4 +- gcc/m2/mc-boot/GSysStorage.c | 6 +- gcc/m2/mc-boot/Gdecl.c | 174 +++++++++------- gcc/m2/mc-boot/Gkeyc.c | 3 +- gcc/m2/mc-boot/GmcComment.c | 2 +- gcc/m2/mc-boot/GmcComp.c | 4 +- gcc/m2/mc-boot/GmcDebug.c | 2 +- gcc/m2/mc-boot/GmcMetaError.c | 8 +- gcc/m2/mc-boot/GmcStack.c | 4 +- gcc/m2/mc-boot/Gmcp1.c | 402 ++++++++++++++++++++++--------------- gcc/m2/mc-boot/Gmcp2.c | 416 ++++++++++++++++++++++++--------------- gcc/m2/mc-boot/Gmcp3.c | 268 +++++++++++++++---------- gcc/m2/mc-boot/Gmcp4.c | 320 +++++++++++++++++++----------- gcc/m2/mc-boot/Gmcp5.c | 310 ++++++++++++++++++----------- gcc/m2/mc-boot/GnameKey.c | 4 +- gcc/m2/mc-boot/GsymbolKey.c | 6 +- gcc/m2/mc/decl.mod | 37 +++- 27 files changed, 1289 insertions(+), 803 deletions(-) diff --git a/gcc/m2/Make-maintainer.in b/gcc/m2/Make-maintainer.in index ef09d770d7c..572595a040f 100644 --- a/gcc/m2/Make-maintainer.in +++ b/gcc/m2/Make-maintainer.in @@ -316,7 +316,7 @@ pge-help: force @echo " make pge-verify" @echo " make pge-push # copy pge C++ sources (app and libs) into srcdir/m2/pge-boot" @echo " make pge-libs-push # copy C++ libraries which pge uses into srcdir/m2/pge-boot" - @echo " make pge-app-push # copy pge C++ application modules into srcdir/m2/pge-boot" + @echo " make pge-app-push # copy pge C++ application modules into srcdir/m2/pge-boot" @echo " make pge-clean" pge-maintainer: $(PGE) @@ -342,7 +342,7 @@ pge-libs-push: force done pge-app-push: force - cp m2/gm2-pge-boot/*.c $(srcdir)/m2/pge-boot + cp m2/gm2-pge-boot/*.c $(srcdir)/m2/pge-boot # Perform sanity checks. @@ -470,7 +470,7 @@ m2/boot-bin/mc-devel$(exeext): $(objdir)/m2/gm2-auto/mcp1.mod \ $(BOOTGM2) $(MCOPTIONS) -I$(GM2PATH) $(srcdir)/m2/mc/keyc.mod -o mc-obj/keyc.o $(BOOTGM2) $(MCOPTIONS) -I$(GM2PATH) $(srcdir)/m2/mc/mcComment.mod -o mc-obj/mcComment.o $(BOOTGM2) $(MCLINK) -I. -fscaffold-main -I$(GM2PATH) \ - -fuselist=$(srcdir)/m2/init/mcinit $(srcdir)/m2/mc/top.mod -o mc \ + -fuse-list=$(srcdir)/m2/init/mcinit $(srcdir)/m2/mc/top.mod -o mc \ m2/gm2-libs-boot/RTcodummy.o \ m2/gm2-libs-boot/dtoa.o m2/gm2-libs-boot/ldtoa.o mc-obj/*o m2/mc-boot-ch/Gabort.o @@ -805,4 +805,3 @@ m2/gm2-compiler-paranoid/M2Version.o: m2/gm2-compiler-paranoid/M2Version.mod $(objdir)/m2/gm2-compiler-paranoid/%.mod: $(srcdir)/m2/gm2-compiler/%.bnf $(PGE) $(PGE) -k -l $< -o $@ - diff --git a/gcc/m2/mc-boot/GDynamicStrings.c b/gcc/m2/mc-boot/GDynamicStrings.c index 45cfd5c7b3e..b87a8db6015 100644 --- a/gcc/m2/mc-boot/GDynamicStrings.c +++ b/gcc/m2/mc-boot/GDynamicStrings.c @@ -1214,7 +1214,7 @@ static void ConcatContents (Contents *c, const char *a_, unsigned int _a_high, u (*c).next->contents.next = NULL; ConcatContents (&(*c).next->contents, (const char *) a, _a_high, h, o); AddDebugInfo ((*c).next); - (*c).next = AssignDebug ((*c).next, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 722, (const char *) "ConcatContents", 14); + (*c).next = AssignDebug ((*c).next, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 722, (const char *) "ConcatContents", 14); } else { @@ -1312,7 +1312,7 @@ static void ConcatContentsAddress (Contents *c, void * a, unsigned int h) AddDebugInfo ((*c).next); if (TraceOn) { - (*c).next = AssignDebug ((*c).next, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 917, (const char *) "ConcatContentsAddress", 21); + (*c).next = AssignDebug ((*c).next, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 917, (const char *) "ConcatContentsAddress", 21); } } else @@ -1537,7 +1537,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsi AddDebugInfo (s); if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 758, (const char *) "InitString", 10); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 758, (const char *) "InitString", 10); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -1640,7 +1640,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringCharStar (void * a) AddDebugInfo (s); if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 957, (const char *) "InitStringCharStar", 18); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 957, (const char *) "InitStringCharStar", 18); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -1665,7 +1665,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch) s = DynamicStrings_InitString ((const char *) &a.array[0], 1); if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 977, (const char *) "InitStringChar", 14); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 977, (const char *) "InitStringChar", 14); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -1823,7 +1823,7 @@ extern "C" DynamicStrings_String DynamicStrings_Dup (DynamicStrings_String s) s = DynamicStrings_Assign (DynamicStrings_InitString ((const char *) "", 0), s); if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1173, (const char *) "Dup", 3); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1173, (const char *) "Dup", 3); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -1845,7 +1845,7 @@ extern "C" DynamicStrings_String DynamicStrings_Add (DynamicStrings_String a, Dy a = DynamicStrings_ConCat (DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) "", 0), a), b); if (TraceOn) { - a = AssignDebug (a, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1193, (const char *) "Add", 3); + a = AssignDebug (a, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1193, (const char *) "Add", 3); } return a; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -1920,7 +1920,7 @@ extern "C" unsigned int DynamicStrings_EqualCharStar (DynamicStrings_String s, v t = DynamicStrings_InitStringCharStar (a); if (TraceOn) { - t = AssignDebug (t, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1258, (const char *) "EqualCharStar", 13); + t = AssignDebug (t, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1258, (const char *) "EqualCharStar", 13); } t = AddToGarbage (t, s); if (DynamicStrings_Equal (t, s)) @@ -1958,7 +1958,7 @@ extern "C" unsigned int DynamicStrings_EqualArray (DynamicStrings_String s, cons t = DynamicStrings_InitString ((const char *) a, _a_high); if (TraceOn) { - t = AssignDebug (t, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1288, (const char *) "EqualArray", 10); + t = AssignDebug (t, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1288, (const char *) "EqualArray", 10); } t = AddToGarbage (t, s); if (DynamicStrings_Equal (t, s)) @@ -1996,7 +1996,7 @@ extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, u } if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1320, (const char *) "Mult", 4); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1320, (const char *) "Mult", 4); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -2075,7 +2075,7 @@ extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, AddDebugInfo (t->contents.next); if (TraceOn) { - t->contents.next = AssignDebug (t->contents.next, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1388, (const char *) "Slice", 5); + t->contents.next = AssignDebug (t->contents.next, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1388, (const char *) "Slice", 5); } } t = t->contents.next; @@ -2093,7 +2093,7 @@ extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, } if (TraceOn) { - d = AssignDebug (d, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1405, (const char *) "Slice", 5); + d = AssignDebug (d, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1405, (const char *) "Slice", 5); } return d; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -2221,7 +2221,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveComment (DynamicStrings_St } if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1517, (const char *) "RemoveComment", 13); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1517, (const char *) "RemoveComment", 13); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -2246,7 +2246,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePrefix (DynamicString s = DynamicStrings_Slice (s, (int ) (i), 0); if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1629, (const char *) "RemoveWhitePrefix", 17); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1629, (const char *) "RemoveWhitePrefix", 17); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -2271,7 +2271,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePostfix (DynamicStrin s = DynamicStrings_Slice (s, 0, i+1); if (TraceOn) { - s = AssignDebug (s, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 1651, (const char *) "RemoveWhitePostfix", 18); + s = AssignDebug (s, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 1651, (const char *) "RemoveWhitePostfix", 18); } return s; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -2640,7 +2640,7 @@ extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (unsigned { stop (); /* writeString ("mismatched number of PopAllocation's compared to PushAllocation's") */ - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/DynamicStrings.mod", 85, 176, (const char *) "PopAllocationExemption", 22, (const char *) "mismatched number of PopAllocation's compared to PushAllocation's", 65); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/DynamicStrings.mod", 62, 176, (const char *) "PopAllocationExemption", 22, (const char *) "mismatched number of PopAllocation's compared to PushAllocation's", 65); } else { diff --git a/gcc/m2/mc-boot/GFIO.c b/gcc/m2/mc-boot/GFIO.c index b9f9af23719..3a9c103411e 100644 --- a/gcc/m2/mc-boot/GFIO.c +++ b/gcc/m2/mc-boot/GFIO.c @@ -553,7 +553,7 @@ static FIO_File GetNextFreeDescriptor (void) return f; /* create new slot */ } } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/FIO.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/FIO.def", 25, 1); __builtin_unreachable (); } @@ -2260,7 +2260,7 @@ extern "C" void * FIO_getFileName (FIO_File f) return fd->name.address; } } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/FIO.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/FIO.def", 25, 1); __builtin_unreachable (); } @@ -2287,7 +2287,7 @@ extern "C" unsigned int FIO_getFileNameLength (FIO_File f) return fd->name.size; } } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/FIO.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/FIO.def", 25, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/GIndexing.c b/gcc/m2/mc-boot/GIndexing.c index 24f62927dc2..c865caaf590 100644 --- a/gcc/m2/mc-boot/GIndexing.c +++ b/gcc/m2/mc-boot/GIndexing.c @@ -222,7 +222,7 @@ extern "C" unsigned int Indexing_InBounds (Indexing_Index i, unsigned int n) { return (n >= i->Low) && (n <= i->High); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/Indexing.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/Indexing.def", 20, 1); __builtin_unreachable (); } @@ -242,7 +242,7 @@ extern "C" unsigned int Indexing_HighIndice (Indexing_Index i) { return i->High; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/Indexing.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/Indexing.def", 20, 1); __builtin_unreachable (); } @@ -262,7 +262,7 @@ extern "C" unsigned int Indexing_LowIndice (Indexing_Index i) { return i->Low; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/Indexing.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/Indexing.def", 20, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/GM2Dependent.c b/gcc/m2/mc-boot/GM2Dependent.c index d677798962e..16a4501961a 100644 --- a/gcc/m2/mc-boot/GM2Dependent.c +++ b/gcc/m2/mc-boot/GM2Dependent.c @@ -824,6 +824,7 @@ static void ForceDependencies (void) mptr = LookupModuleN (ordered, reinterpret_cast (start), count); if (mptr != NULL) { + mptr->dependency.forced = TRUE; moveTo (user, mptr); } pc += 1; @@ -841,6 +842,7 @@ static void ForceDependencies (void) mptr = LookupModuleN (ordered, reinterpret_cast (start), count); if (mptr != NULL) { + mptr->dependency.forced = TRUE; moveTo (user, mptr); } } @@ -894,6 +896,7 @@ static void SetupDebugFlags (void) DependencyTrace = FALSE; PostTrace = FALSE; PreTrace = FALSE; + ForceTrace = FALSE; pc = static_cast<_T1> (libc_getenv (const_cast (reinterpret_cast("GCC_M2LINK_RTFLAG")))); while ((pc != NULL) && ((*pc) != ASCII_nul)) { diff --git a/gcc/m2/mc-boot/GM2EXCEPTION.c b/gcc/m2/mc-boot/GM2EXCEPTION.c index 04a1af58a58..53747fe0a28 100644 --- a/gcc/m2/mc-boot/GM2EXCEPTION.c +++ b/gcc/m2/mc-boot/GM2EXCEPTION.c @@ -57,13 +57,13 @@ extern "C" M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void) n = RTExceptions_GetNumber (e); if (n == (UINT_MAX)) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/M2EXCEPTION.mod")), 47, 6, const_cast (reinterpret_cast("M2Exception")), const_cast (reinterpret_cast("current coroutine is not in the exceptional execution state"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/M2EXCEPTION.mod")), 47, 6, const_cast (reinterpret_cast("M2Exception")), const_cast (reinterpret_cast("current coroutine is not in the exceptional execution state"))); } else { return (M2EXCEPTION_M2Exceptions) (n); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/M2EXCEPTION.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/M2EXCEPTION.def", 25, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/GPushBackInput.c b/gcc/m2/mc-boot/GPushBackInput.c index d6334d12867..4dee3ebf8ed 100644 --- a/gcc/m2/mc-boot/GPushBackInput.c +++ b/gcc/m2/mc-boot/GPushBackInput.c @@ -274,7 +274,7 @@ extern "C" char PushBackInput_PutCh (char ch) } else { - Debug_Halt ((const char *) "max push back stack exceeded, increase MaxPushBackStack", 55, 150, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/PushBackInput.mod", 84); + Debug_Halt ((const char *) "max push back stack exceeded, increase MaxPushBackStack", 55, 150, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/PushBackInput.mod", 61); } return ch; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -300,7 +300,7 @@ extern "C" void PushBackInput_PutString (const char *a_, unsigned int _a_high) l -= 1; if ((PushBackInput_PutCh (a[l])) != a[l]) { - Debug_Halt ((const char *) "assert failed", 13, 132, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/PushBackInput.mod", 84); + Debug_Halt ((const char *) "assert failed", 13, 132, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/PushBackInput.mod", 61); } } } @@ -321,7 +321,7 @@ extern "C" void PushBackInput_PutStr (DynamicStrings_String s) i -= 1; if ((PushBackInput_PutCh (DynamicStrings_char (s, static_cast (i)))) != (DynamicStrings_char (s, static_cast (i)))) { - Debug_Halt ((const char *) "assert failed", 13, 113, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/PushBackInput.mod", 84); + Debug_Halt ((const char *) "assert failed", 13, 113, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/PushBackInput.mod", 61); } } } diff --git a/gcc/m2/mc-boot/GRTExceptions.c b/gcc/m2/mc-boot/GRTExceptions.c index d4124e12e04..10ed3684dc5 100644 --- a/gcc/m2/mc-boot/GRTExceptions.c +++ b/gcc/m2/mc-boot/GRTExceptions.c @@ -719,7 +719,7 @@ static void AddHandler (RTExceptions_EHBlock e, Handler h) static void indexf (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_indexException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 612, 9, const_cast (reinterpret_cast("indexf")), const_cast (reinterpret_cast("array index out of bounds"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_indexException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 612, 9, const_cast (reinterpret_cast("indexf")), const_cast (reinterpret_cast("array index out of bounds"))); } @@ -729,7 +729,7 @@ static void indexf (void * a) static void range (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_rangeException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 624, 9, const_cast (reinterpret_cast("range")), const_cast (reinterpret_cast("assignment out of range"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_rangeException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 624, 9, const_cast (reinterpret_cast("range")), const_cast (reinterpret_cast("assignment out of range"))); } @@ -739,7 +739,7 @@ static void range (void * a) static void casef (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_caseSelectException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 636, 9, const_cast (reinterpret_cast("casef")), const_cast (reinterpret_cast("case selector out of range"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_caseSelectException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 636, 9, const_cast (reinterpret_cast("casef")), const_cast (reinterpret_cast("case selector out of range"))); } @@ -749,7 +749,7 @@ static void casef (void * a) static void invalidloc (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_invalidLocation)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 648, 9, const_cast (reinterpret_cast("invalidloc")), const_cast (reinterpret_cast("invalid address referenced"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_invalidLocation)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 648, 9, const_cast (reinterpret_cast("invalidloc")), const_cast (reinterpret_cast("invalid address referenced"))); } @@ -759,7 +759,7 @@ static void invalidloc (void * a) static void function (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_functionException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 660, 9, const_cast (reinterpret_cast("function")), const_cast (reinterpret_cast("... function ... "))); /* --fixme-- what has happened ? */ + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_functionException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 660, 9, const_cast (reinterpret_cast("function")), const_cast (reinterpret_cast("... function ... "))); /* --fixme-- what has happened ? */ } @@ -769,7 +769,7 @@ static void function (void * a) static void wholevalue (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeValueException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 672, 9, const_cast (reinterpret_cast("wholevalue")), const_cast (reinterpret_cast("illegal whole value exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeValueException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 672, 9, const_cast (reinterpret_cast("wholevalue")), const_cast (reinterpret_cast("illegal whole value exception"))); } @@ -779,7 +779,7 @@ static void wholevalue (void * a) static void wholediv (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeDivException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 684, 9, const_cast (reinterpret_cast("wholediv")), const_cast (reinterpret_cast("illegal whole value exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeDivException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 684, 9, const_cast (reinterpret_cast("wholediv")), const_cast (reinterpret_cast("illegal whole value exception"))); } @@ -789,7 +789,7 @@ static void wholediv (void * a) static void realvalue (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realValueException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 696, 9, const_cast (reinterpret_cast("realvalue")), const_cast (reinterpret_cast("illegal real value exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realValueException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 696, 9, const_cast (reinterpret_cast("realvalue")), const_cast (reinterpret_cast("illegal real value exception"))); } @@ -799,7 +799,7 @@ static void realvalue (void * a) static void realdiv (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realDivException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 708, 9, const_cast (reinterpret_cast("realdiv")), const_cast (reinterpret_cast("real number division by zero exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realDivException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 708, 9, const_cast (reinterpret_cast("realdiv")), const_cast (reinterpret_cast("real number division by zero exception"))); } @@ -809,7 +809,7 @@ static void realdiv (void * a) static void complexvalue (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexValueException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 720, 9, const_cast (reinterpret_cast("complexvalue")), const_cast (reinterpret_cast("illegal complex value exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexValueException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 720, 9, const_cast (reinterpret_cast("complexvalue")), const_cast (reinterpret_cast("illegal complex value exception"))); } @@ -819,7 +819,7 @@ static void complexvalue (void * a) static void complexdiv (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexDivException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 732, 9, const_cast (reinterpret_cast("complexdiv")), const_cast (reinterpret_cast("complex number division by zero exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexDivException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 732, 9, const_cast (reinterpret_cast("complexdiv")), const_cast (reinterpret_cast("complex number division by zero exception"))); } @@ -829,7 +829,7 @@ static void complexdiv (void * a) static void protection (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_protException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 744, 9, const_cast (reinterpret_cast("protection")), const_cast (reinterpret_cast("protection exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_protException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 744, 9, const_cast (reinterpret_cast("protection")), const_cast (reinterpret_cast("protection exception"))); } @@ -839,7 +839,7 @@ static void protection (void * a) static void systemf (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_sysException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 756, 9, const_cast (reinterpret_cast("systemf")), const_cast (reinterpret_cast("system exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_sysException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 756, 9, const_cast (reinterpret_cast("systemf")), const_cast (reinterpret_cast("system exception"))); } @@ -849,7 +849,7 @@ static void systemf (void * a) static void coroutine (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_coException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 768, 9, const_cast (reinterpret_cast("coroutine")), const_cast (reinterpret_cast("coroutine exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_coException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 768, 9, const_cast (reinterpret_cast("coroutine")), const_cast (reinterpret_cast("coroutine exception"))); } @@ -859,7 +859,7 @@ static void coroutine (void * a) static void exception (void * a) { - RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod")), 780, 9, const_cast (reinterpret_cast("exception")), const_cast (reinterpret_cast("exception exception"))); + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod")), 780, 9, const_cast (reinterpret_cast("exception")), const_cast (reinterpret_cast("exception exception"))); } @@ -1178,13 +1178,13 @@ extern "C" RTExceptions_EHBlock RTExceptions_GetBaseExceptionBlock (void) { if (currentEHB == NULL) { - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.mod", 83, 598, (const char *) "GetBaseExceptionBlock", 21, (const char *) "currentEHB has not been initialized yet", 39); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.mod", 60, 598, (const char *) "GetBaseExceptionBlock", 21, (const char *) "currentEHB has not been initialized yet", 39); } else { return currentEHB; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTExceptions.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTExceptions.def", 25, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/GRTint.c b/gcc/m2/mc-boot/GRTint.c index f080fd47de3..e0b1889d383 100644 --- a/gcc/m2/mc-boot/GRTint.c +++ b/gcc/m2/mc-boot/GRTint.c @@ -595,7 +595,7 @@ static unsigned int activatePending (unsigned int untilInterrupt, RTint_Dispatch default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.def", 25, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.def", 25, 1); __builtin_unreachable (); } v = v->pending; @@ -708,7 +708,7 @@ extern "C" unsigned int RTint_InitOutputVector (int fd, unsigned int pri) RTco_signal (lock); return v->no; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.def", 25, 1); __builtin_unreachable (); } @@ -765,7 +765,7 @@ extern "C" void RTint_ReArmTimeVector (unsigned int vec, unsigned int micro, uns v = FindVectorNo (vec); if (v == NULL) { - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.mod", 76, 286, (const char *) "ReArmTimeVector", 15, (const char *) "cannot find vector supplied", 27); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.mod", 53, 286, (const char *) "ReArmTimeVector", 15, (const char *) "cannot find vector supplied", 27); } else { @@ -790,7 +790,7 @@ extern "C" void RTint_GetTimeVector (unsigned int vec, unsigned int *micro, unsi v = FindVectorNo (vec); if (v == NULL) { - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.mod", 76, 312, (const char *) "GetTimeVector", 13, (const char *) "cannot find vector supplied", 27); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.mod", 53, 312, (const char *) "GetTimeVector", 13, (const char *) "cannot find vector supplied", 27); } else { @@ -816,7 +816,7 @@ extern "C" void * RTint_AttachVector (unsigned int vec, void * p) v = FindVectorNo (vec); if (v == NULL) { - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.mod", 76, 339, (const char *) "AttachVector", 12, (const char *) "cannot find vector supplied", 27); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.mod", 53, 339, (const char *) "AttachVector", 12, (const char *) "cannot find vector supplied", 27); } else { @@ -830,7 +830,7 @@ extern "C" void * RTint_AttachVector (unsigned int vec, void * p) RTco_signal (lock); return l; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.def", 25, 1); __builtin_unreachable (); } @@ -855,7 +855,7 @@ extern "C" void RTint_IncludeVector (unsigned int vec) v = FindVectorNo (vec); if (v == NULL) { - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.mod", 76, 372, (const char *) "IncludeVector", 13, (const char *) "cannot find vector supplied", 27); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.mod", 53, 372, (const char *) "IncludeVector", 13, (const char *) "cannot find vector supplied", 27); } else { @@ -902,7 +902,7 @@ extern "C" void RTint_ExcludeVector (unsigned int vec) v = FindPendingVector (vec); if (v == NULL) { - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.mod", 76, 415, (const char *) "ExcludeVector", 13, (const char *) "cannot find pending vector supplied", 35); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.mod", 53, 415, (const char *) "ExcludeVector", 13, (const char *) "cannot find pending vector supplied", 35); } else { @@ -1003,7 +1003,7 @@ extern "C" void RTint_Listen (unsigned int untilInterrupt, RTint_DispatchVector default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.def", 25, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.def", 25, 1); __builtin_unreachable (); } v = v->pending; @@ -1016,7 +1016,7 @@ extern "C" void RTint_Listen (unsigned int untilInterrupt, RTint_DispatchVector } if (((untilInterrupt && (i == NULL)) && (o == NULL)) && ! found) { - M2RTS_Halt ((const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/RTint.mod", 76, 731, (const char *) "Listen", 6, (const char *) "deadlock found, no more processes to run and no interrupts active", 65); + M2RTS_Halt ((const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/RTint.mod", 53, 731, (const char *) "Listen", 6, (const char *) "deadlock found, no more processes to run and no interrupts active", 65); } /* printf('} ') ; */ diff --git a/gcc/m2/mc-boot/GStdIO.c b/gcc/m2/mc-boot/GStdIO.c index 4e512c0be1c..894a83e1e95 100644 --- a/gcc/m2/mc-boot/GStdIO.c +++ b/gcc/m2/mc-boot/GStdIO.c @@ -193,7 +193,7 @@ extern "C" StdIO_ProcWrite StdIO_GetCurrentOutput (void) M2RTS_HALT (-1); __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/StdIO.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/StdIO.def", 25, 1); __builtin_unreachable (); } @@ -252,7 +252,7 @@ extern "C" StdIO_ProcRead StdIO_GetCurrentInput (void) M2RTS_HALT (-1); __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/StdIO.def", 25, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/gm2-libs/StdIO.def", 25, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/GStringConvert.c b/gcc/m2/mc-boot/GStringConvert.c index fda34c7144f..6cca341215f 100644 --- a/gcc/m2/mc-boot/GStringConvert.c +++ b/gcc/m2/mc-boot/GStringConvert.c @@ -1916,7 +1916,7 @@ extern "C" DynamicStrings_String StringConvert_ToSigFig (DynamicStrings_String s int point; unsigned int poTen; - Assert ((IsDigit (DynamicStrings_char (s, 0))) || ((DynamicStrings_char (s, 0)) == '.'), (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/StringConvert.mod", 84, 1222, (const char *) "ToSigFig", 8); + Assert ((IsDigit (DynamicStrings_char (s, 0))) || ((DynamicStrings_char (s, 0)) == '.'), (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/StringConvert.mod", 61, 1222, (const char *) "ToSigFig", 8); point = DynamicStrings_Index (s, '.', 0); if (point < 0) { @@ -1968,7 +1968,7 @@ extern "C" DynamicStrings_String StringConvert_ToDecimalPlaces (DynamicStrings_S { int point; - Assert ((IsDigit (DynamicStrings_char (s, 0))) || ((DynamicStrings_char (s, 0)) == '.'), (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/StringConvert.mod", 84, 1069, (const char *) "ToDecimalPlaces", 15); + Assert ((IsDigit (DynamicStrings_char (s, 0))) || ((DynamicStrings_char (s, 0)) == '.'), (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/StringConvert.mod", 61, 1069, (const char *) "ToDecimalPlaces", 15); point = DynamicStrings_Index (s, '.', 0); if (point < 0) { diff --git a/gcc/m2/mc-boot/GSysStorage.c b/gcc/m2/mc-boot/GSysStorage.c index bee49c417e9..10dd88bbda3 100644 --- a/gcc/m2/mc-boot/GSysStorage.c +++ b/gcc/m2/mc-boot/GSysStorage.c @@ -93,7 +93,7 @@ extern "C" void SysStorage_ALLOCATE (void * *a, unsigned int size) (*a) = libc_malloc (static_cast (size)); if ((*a) == NULL) { - Debug_Halt ((const char *) "out of memory error", 19, 50, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/SysStorage.mod", 81); + Debug_Halt ((const char *) "out of memory error", 19, 50, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/SysStorage.mod", 58); } if (enableTrace && trace) { @@ -118,7 +118,7 @@ extern "C" void SysStorage_DEALLOCATE (void * *a, unsigned int size) } if ((libc_memset ((*a), 0, static_cast (size))) != (*a)) { - Debug_Halt ((const char *) "memset should have returned the first parameter", 47, 76, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/SysStorage.mod", 81); + Debug_Halt ((const char *) "memset should have returned the first parameter", 47, 76, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/SysStorage.mod", 58); } } if (enableDeallocation) @@ -163,7 +163,7 @@ extern "C" void SysStorage_REALLOCATE (void * *a, unsigned int size) (*a) = libc_realloc ((*a), static_cast (size)); if ((*a) == NULL) { - Debug_Halt ((const char *) "out of memory error", 19, 119, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/gm2-libs/SysStorage.mod", 81); + Debug_Halt ((const char *) "out of memory error", 19, 119, (const char *) "../../gcc-git-devel-modula2/gcc/m2/gm2-libs/SysStorage.mod", 58); } if (enableTrace && trace) { diff --git a/gcc/m2/mc-boot/Gdecl.c b/gcc/m2/mc-boot/Gdecl.c index 0da940bca95..1bf6b01774c 100644 --- a/gcc/m2/mc-boot/Gdecl.c +++ b/gcc/m2/mc-boot/Gdecl.c @@ -6630,7 +6630,7 @@ static decl_node newNode (nodeT k) d->at.firstUsed = 0; return d; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -6990,7 +6990,7 @@ static decl_node addToScope (decl_node n) } M2RTS_HALT (-1); __builtin_unreachable (); - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -7068,7 +7068,7 @@ static void setUnary (decl_node u, nodeT k, decl_node a, decl_node t) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -7350,7 +7350,7 @@ static void putFieldVarient (decl_node f, decl_node v) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } switch (f->kind) @@ -7361,7 +7361,7 @@ static void putFieldVarient (decl_node f, decl_node v) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -7412,7 +7412,7 @@ static decl_node putFieldRecord (decl_node r, nameKey_Name tag, decl_node type, default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* fill in, n. */ @@ -7470,7 +7470,7 @@ static void putVarientTag (decl_node v, decl_node tag) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -7494,7 +7494,7 @@ static decl_node getParent (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -7522,7 +7522,7 @@ static decl_node getRecord (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -7702,7 +7702,7 @@ static unsigned int getConstExpComplete (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -7807,7 +7807,7 @@ static decl_node makeVal (decl_node params) M2RTS_HALT (-1); __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -7828,7 +7828,7 @@ static decl_node makeCast (decl_node c, decl_node p) M2RTS_HALT (-1); __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -8339,7 +8339,7 @@ static decl_node makeUnary (nodeT k, decl_node e, decl_node res) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -8433,7 +8433,7 @@ static DynamicStrings_String getStringContents (decl_node n) } M2RTS_HALT (-1); __builtin_unreachable (); - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -8570,7 +8570,7 @@ static decl_node doMakeBinary (nodeT k, decl_node l, decl_node r, decl_node res) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } return n; @@ -9171,12 +9171,12 @@ static decl_node doGetExprType (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } M2RTS_HALT (-1); __builtin_unreachable (); - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -9315,12 +9315,12 @@ static decl_node getSymScope (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } M2RTS_HALT (-1); __builtin_unreachable (); - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -9593,7 +9593,7 @@ static unsigned int needsParen (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } return TRUE; @@ -9702,7 +9702,7 @@ static void doPolyBinary (mcPretty_pretty p, nodeT op, decl_node left, decl_node default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -9728,7 +9728,7 @@ static void doPolyBinary (mcPretty_pretty p, nodeT op, decl_node left, decl_node default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -10006,7 +10006,7 @@ static decl_node doGetLastOp (decl_node a, decl_node b) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -10646,7 +10646,7 @@ static void doExprC (mcPretty_pretty p, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -10851,7 +10851,7 @@ static void doExprM2 (mcPretty_pretty p, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -11023,7 +11023,7 @@ static DynamicStrings_String replaceChar (DynamicStrings_String s, char ch, cons return s; } } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -11083,7 +11083,7 @@ static unsigned int countChar (DynamicStrings_String s, char ch) return c; } } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -12121,7 +12121,7 @@ static decl_node doMin (decl_node n) M2RTS_HALT (-1); /* finish the cacading elsif statement. */ __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -12202,7 +12202,7 @@ static decl_node doMax (decl_node n) M2RTS_HALT (-1); /* finish the cacading elsif statement. */ __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -12491,7 +12491,7 @@ static void doBaseC (mcPretty_pretty p, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } mcPretty_setNeedSpace (p); @@ -12581,7 +12581,7 @@ static void doSystemC (mcPretty_pretty p, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -15935,7 +15935,7 @@ static void doCreal (mcPretty_pretty p, decl_node t) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -15966,7 +15966,7 @@ static void doCimag (mcPretty_pretty p, decl_node t) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -16097,7 +16097,7 @@ static void doIntrinsicC (mcPretty_pretty p, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } outText (p, (const char *) ";", 1); @@ -17260,7 +17260,7 @@ static void dbs (dependentState s, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } if (n != NULL) @@ -18153,10 +18153,10 @@ static dependentState doDependants (alists_alist l, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -18223,8 +18223,48 @@ static unsigned int tryCompleteFromPartial (decl_node n, nodeProcedure t) static void visitIntrinsicFunction (alists_alist v, decl_node n, nodeProcedure p) { mcDebug_assert (isIntrinsicFunction (n)); - visitNode (v, n->unaryF.arg, p); - visitNode (v, n->unaryF.resultType, p); + switch (n->kind) + { + case val: + case cmplx: + visitNode (v, n->binaryF.left, p); + visitNode (v, n->binaryF.right, p); + visitNode (v, n->binaryF.resultType, p); + break; + + case adr: + case size: + case tsize: + case float_: + case trunc_: + case ord: + case chr: + case cap: + case abs_: + case high: + case min: + case max: + case re: + case im: + visitNode (v, n->unaryF.arg, p); + visitNode (v, n->unaryF.resultType, p); + break; + + case length: + visitNode (v, n->unaryF.arg, p); + visitNode (v, n->unaryF.resultType, p); + break; + + case throw_: + visitNode (v, n->intrinsicF.args, p); + visitNode (v, n->intrinsicF.type, p); + break; + + + default: + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } } @@ -19221,7 +19261,7 @@ static void visitDependants (alists_alist v, decl_node n, nodeProcedure p) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -19568,12 +19608,12 @@ static DynamicStrings_String genKind (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } M2RTS_HALT (-1); __builtin_unreachable (); - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -20607,7 +20647,7 @@ static void doBaseM2 (mcPretty_pretty p, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } mcPretty_setNeedSpace (p); @@ -20633,7 +20673,7 @@ static void doSystemM2 (mcPretty_pretty p, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -21844,10 +21884,10 @@ static decl_node doDupExpr (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -22177,7 +22217,7 @@ extern "C" unsigned int decl_isVisited (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -22207,7 +22247,7 @@ extern "C" void decl_unsetVisited (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -22235,7 +22275,7 @@ extern "C" void decl_setVisited (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -22263,7 +22303,7 @@ extern "C" void decl_setEnumsComplete (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -22291,7 +22331,7 @@ extern "C" unsigned int decl_getEnumsComplete (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -22512,7 +22552,7 @@ extern "C" decl_node decl_lookupInScope (decl_node scope, nameKey_Name n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -22887,12 +22927,12 @@ extern "C" decl_node decl_getType (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } M2RTS_HALT (-1); __builtin_unreachable (); - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -23286,7 +23326,7 @@ extern "C" decl_node decl_getScope (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -23941,7 +23981,7 @@ extern "C" decl_node decl_makeVarient (decl_node r) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } return n; @@ -24408,7 +24448,7 @@ extern "C" nameKey_Name decl_getSymName (decl_node n) __builtin_unreachable (); break; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -24446,7 +24486,7 @@ extern "C" decl_node decl_import (decl_node m, decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } importEnumFields (m, n); @@ -24575,7 +24615,7 @@ extern "C" void decl_setSource (decl_node n, nameKey_Name s) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -24603,7 +24643,7 @@ extern "C" nameKey_Name decl_getSource (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } /* static analysis guarentees a RETURN statement will be used before here. */ @@ -25044,7 +25084,7 @@ extern "C" void decl_addParameter (decl_node proc, decl_node param) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -25137,7 +25177,7 @@ extern "C" decl_node decl_makeBinaryTok (mcReserved_toktype op, decl_node l, dec M2RTS_HALT (-1); /* most likely op needs a clause as above. */ __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -25169,7 +25209,7 @@ extern "C" decl_node decl_makeUnaryTok (mcReserved_toktype op, decl_node e) M2RTS_HALT (-1); /* most likely op needs a clause as above. */ __builtin_unreachable (); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } @@ -25607,7 +25647,7 @@ extern "C" void decl_setConstExpComplete (decl_node n) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -25972,7 +26012,7 @@ extern "C" void decl_putBegin (decl_node b, decl_node s) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -25999,7 +26039,7 @@ extern "C" void decl_putFinally (decl_node b, decl_node s) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } } @@ -26627,7 +26667,7 @@ extern "C" void decl_out (void) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/decl.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/decl.def", 20, 1); __builtin_unreachable (); } closeOutput (); diff --git a/gcc/m2/mc-boot/Gkeyc.c b/gcc/m2/mc-boot/Gkeyc.c index 9284872c94e..81f82ba36e5 100644 --- a/gcc/m2/mc-boot/Gkeyc.c +++ b/gcc/m2/mc-boot/Gkeyc.c @@ -908,7 +908,7 @@ static unsigned int mangleN (nameKey_Name n, DynamicStrings_String *m, unsigned return TRUE; } } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/keyc.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/keyc.def", 20, 1); __builtin_unreachable (); } @@ -942,6 +942,7 @@ static void initCP (void) add (keywords, (const char *) "operator", 8); add (keywords, (const char *) "complex", 7); add (keywords, (const char *) "export", 6); + add (keywords, (const char *) "public", 6); } diff --git a/gcc/m2/mc-boot/GmcComment.c b/gcc/m2/mc-boot/GmcComment.c index 32e311bdab8..b1f5dfa7a8b 100644 --- a/gcc/m2/mc-boot/GmcComment.c +++ b/gcc/m2/mc-boot/GmcComment.c @@ -257,7 +257,7 @@ static void dumpComment (mcComment_commentDesc cd) default: - CaseException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcComment.def", 20, 1); + CaseException ("../../gcc-git-devel-modula2/gcc/m2/mc/mcComment.def", 20, 1); __builtin_unreachable (); } if (cd->used) diff --git a/gcc/m2/mc-boot/GmcComp.c b/gcc/m2/mc-boot/GmcComp.c index dc3de85dca0..c6824bbfc04 100644 --- a/gcc/m2/mc-boot/GmcComp.c +++ b/gcc/m2/mc-boot/GmcComp.c @@ -294,7 +294,7 @@ static decl_node examineCompilationUnit (void) } mcflex_mcError (DynamicStrings_string (DynamicStrings_InitString ((const char *) "failed to find module name", 26))); libc_exit (1); - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcComp.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/mcComp.def", 20, 1); __builtin_unreachable (); } @@ -324,7 +324,7 @@ static decl_node peepInto (DynamicStrings_String s) mcPrintf_fprintf1 (FIO_StdErr, (const char *) "failed to open %s\\n", 19, (const unsigned char *) &s, (sizeof (s)-1)); libc_exit (1); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcComp.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/mcComp.def", 20, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/GmcDebug.c b/gcc/m2/mc-boot/GmcDebug.c index 026c767b3e8..ddb761d3a01 100644 --- a/gcc/m2/mc-boot/GmcDebug.c +++ b/gcc/m2/mc-boot/GmcDebug.c @@ -54,7 +54,7 @@ extern "C" void mcDebug_assert (unsigned int q) { if (! q) { - mcError_internalError ((const char *) "assert failed", 13, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcDebug.mod", 72, 35); + mcError_internalError ((const char *) "assert failed", 13, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/mcDebug.mod", 49, 35); } } diff --git a/gcc/m2/mc-boot/GmcMetaError.c b/gcc/m2/mc-boot/GmcMetaError.c index 4fc5fa2fb95..847ec0f1059 100644 --- a/gcc/m2/mc-boot/GmcMetaError.c +++ b/gcc/m2/mc-boot/GmcMetaError.c @@ -408,7 +408,7 @@ static void internalFormat (DynamicStrings_String s, int i, const char *m_, unsi s = DynamicStrings_ConCatChar (s, '^'); s = SFIO_WriteS (FIO_StdOut, s); FIO_WriteLine (FIO_StdOut); - mcError_internalError ((const char *) m, _m_high, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcMetaError.mod", 76, 97); + mcError_internalError ((const char *) m, _m_high, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/mcMetaError.mod", 53, 97); } @@ -420,7 +420,7 @@ static DynamicStrings_String x (DynamicStrings_String a, DynamicStrings_String b { if (a != b) { - mcError_internalError ((const char *) "different string returned", 25, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcMetaError.mod", 76, 109); + mcError_internalError ((const char *) "different string returned", 25, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/mcMetaError.mod", 53, 109); } return a; /* static analysis guarentees a RETURN statement will be used before here. */ @@ -734,7 +734,7 @@ static mcError_error doError (mcError_error e, errorType t, unsigned int tok) case chained: if (e == NULL) { - mcError_internalError ((const char *) "should not be chaining an error onto an empty error note", 56, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcMetaError.mod", 76, 355); + mcError_internalError ((const char *) "should not be chaining an error onto an empty error note", 56, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/mcMetaError.mod", 53, 355); } else { @@ -758,7 +758,7 @@ static mcError_error doError (mcError_error e, errorType t, unsigned int tok) default: - mcError_internalError ((const char *) "unexpected enumeration value", 28, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcMetaError.mod", 76, 369); + mcError_internalError ((const char *) "unexpected enumeration value", 28, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/mcMetaError.mod", 53, 369); break; } return e; diff --git a/gcc/m2/mc-boot/GmcStack.c b/gcc/m2/mc-boot/GmcStack.c index 81e5ff76ba1..3cac417038a 100644 --- a/gcc/m2/mc-boot/GmcStack.c +++ b/gcc/m2/mc-boot/GmcStack.c @@ -165,7 +165,7 @@ extern "C" void * mcStack_pop (mcStack_stack s) Indexing_DeleteIndice (s->list, Indexing_HighIndice (s->list)); return a; } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcStack.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/mcStack.def", 20, 1); __builtin_unreachable (); } @@ -215,7 +215,7 @@ extern "C" void * mcStack_access (mcStack_stack s, unsigned int i) { return Indexing_GetIndice (s->list, i); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/mcStack.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/mcStack.def", 20, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/Gmcp1.c b/gcc/m2/mc-boot/Gmcp1.c index 131cd8bbac9..be8ad2cfea0 100644 --- a/gcc/m2/mc-boot/Gmcp1.c +++ b/gcc/m2/mc-boot/Gmcp1.c @@ -184,7 +184,8 @@ static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) static void registerImport (nameKey_Name ident, unsigned int scoped); /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -198,8 +199,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % curmodule := lookupModule (curident) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -213,14 +214,15 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -275,8 +277,8 @@ static void Qualident (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -286,7 +288,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -296,7 +299,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -327,8 +331,8 @@ static void AddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -338,9 +342,11 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpression ')' | - 'NOT' ConstFactor | ConstAttribute + 'NOT' ConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -422,7 +428,8 @@ static void ConstSetOrQualidentOrFunction (SetOfStop0 stopset0, SetOfStop1 stops static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -433,8 +440,8 @@ static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -499,7 +506,8 @@ static void TypeDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Type := ( SimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType ) + SetType | PointerType | + ProcedureType ) first symbols:lparatok, lsbratok, proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok @@ -540,7 +548,8 @@ static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SubrangeType := '[' ConstExpression '..' ConstExpression ']' + SubrangeType := '[' ConstExpression '..' ConstExpression + ']' first symbols:lsbratok @@ -550,7 +559,8 @@ static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -560,8 +570,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -611,7 +621,8 @@ static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AttributeExpression := Ident '(' ConstExpression ')' + AttributeExpression := Ident '(' ConstExpression + ')' first symbols:identtok @@ -683,7 +694,8 @@ static void CaseTag (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -703,8 +715,8 @@ static void VarientCaseLabelList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstExpression := SilentSimpleConstExpr [ SilentRelation - SilentSimpleConstExpr ] + SilentConstExpression := SilentSimpleConstExpr [ + SilentRelation SilentSimpleConstExpr ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -714,8 +726,8 @@ static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentRelation := '=' | '#' | '<>' | '<' | '<=' | - '>' | '>=' | 'IN' + SilentRelation := '=' | '#' | '<>' | '<' | + '<=' | '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -725,8 +737,8 @@ static void SilentConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void SilentRelation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentSimpleConstExpr := SilentUnaryOrConstTerm { SilentAddOperator - SilentConstTerm } + SilentSimpleConstExpr := SilentUnaryOrConstTerm + { SilentAddOperator SilentConstTerm } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -758,7 +770,8 @@ static void SilentUnaryOrConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, Se static void SilentAddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstTerm := SilentConstFactor { SilentMulOperator SilentConstFactor } + SilentConstTerm := SilentConstFactor { SilentMulOperator + SilentConstFactor } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok @@ -768,8 +781,9 @@ static void SilentAddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentMulOperator := '*' | '/' | 'DIV' | 'MOD' | - 'REM' | 'AND' | '&' + SilentMulOperator := '*' | '/' | 'DIV' | + 'MOD' | 'REM' | 'AND' | + '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -803,8 +817,8 @@ static void SilentConstFactor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' - '(' SilentConstAttributeExpression + SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' SilentConstAttributeExpression ')' ')' first symbols:attributetok @@ -815,7 +829,9 @@ static void SilentConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstAttributeExpression := Ident | '<' Ident ',' SilentConstString + SilentConstAttributeExpression := Ident | + '<' Ident ',' + SilentConstString '>' first symbols:lesstok, identtok @@ -826,7 +842,8 @@ static void SilentConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO static void SilentConstAttributeExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentComponentElement := SilentConstExpression [ '..' SilentConstExpression ] + SilentComponentElement := SilentConstExpression + [ '..' SilentConstExpression ] first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -836,7 +853,8 @@ static void SilentConstAttributeExpression (SetOfStop0 stopset0, SetOfStop1 stop static void SilentComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentComponentValue := SilentComponentElement [ 'BY' SilentConstExpression ] + SilentComponentValue := SilentComponentElement [ + 'BY' SilentConstExpression ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -846,7 +864,8 @@ static void SilentComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Se static void SilentComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentArraySetRecordValue := SilentComponentValue { ',' SilentComponentValue } + SilentArraySetRecordValue := SilentComponentValue + { ',' SilentComponentValue } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -856,7 +875,8 @@ static void SilentComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO static void SilentArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstructor := '{' [ SilentArraySetRecordValue ] '}' + SilentConstructor := '{' [ SilentArraySetRecordValue ] + '}' first symbols:lcbratok @@ -867,8 +887,9 @@ static void SilentConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* SilentConstSetOrQualidentOrFunction := SilentConstructor | - Qualident [ SilentConstructor | - SilentActualParameters ] + Qualident + [ SilentConstructor | + SilentActualParameters ] first symbols:identtok, lcbratok @@ -888,7 +909,8 @@ static void SilentConstSetOrQualidentOrFunction (SetOfStop0 stopset0, SetOfStop1 static void SilentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentActualParameters := '(' [ SilentExpList ] ')' + SilentActualParameters := '(' [ SilentExpList ] + ')' first symbols:lparatok @@ -939,7 +961,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -959,7 +982,8 @@ static void FormalTypeList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -969,7 +993,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -1085,7 +1110,8 @@ static void Expression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -1106,7 +1132,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -1117,7 +1144,8 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -1170,7 +1198,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -1218,9 +1247,9 @@ static void AssignmentOrProcedureCall (SetOfStop0 stopset0, SetOfStop1 stopset1, static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -1230,7 +1259,8 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -1241,7 +1271,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -1292,7 +1323,8 @@ static void CaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -1302,9 +1334,9 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpression ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpression ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -1392,11 +1424,10 @@ static void ProcedureIdent (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - - % enterScope (curproc) % - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent + % enterScope (curproc) % + [ FormalParameters ] AttributeNoReturn ) first symbols:proceduretok @@ -1441,7 +1472,8 @@ static void DefProcedureHeading (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -1535,7 +1567,8 @@ static void ExceptionalPart (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefFormalParameters := '(' [ DefMultiFPSection ] ')' FormalReturn + DefFormalParameters := '(' [ DefMultiFPSection ] + ')' FormalReturn first symbols:lparatok @@ -1545,7 +1578,8 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1555,7 +1589,8 @@ static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void DefMultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FormalParameters := '(' [ MultiFPSection ] ')' FormalReturn + FormalParameters := '(' [ MultiFPSection ] ')' + FormalReturn first symbols:lparatok @@ -1575,7 +1610,8 @@ static void FormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1585,7 +1621,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -1667,8 +1704,9 @@ static void DefOptArg (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -1750,9 +1788,12 @@ static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset % VAR c: BOOLEAN ; % % c := FALSE % - 'DEFINITION' 'MODULE' [ 'FOR' string + 'DEFINITION' 'MODULE' [ 'FOR' + string + % c := TRUE % - ] Ident ';' + ] Ident + ';' % curmodule := lookupDef (curident) % % IF c THEN putDefForC (curmodule) END % @@ -1779,7 +1820,8 @@ static void DefinitionModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto % n := makeType (curident) % ( ';' % putTypeHidden (n) % - | '=' Type Alignment ';' ) } + | '=' Type Alignment + ';' ) } first symbols:identtok @@ -1816,7 +1858,8 @@ static void ConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -1836,7 +1879,8 @@ static void AsmStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -1876,7 +1920,8 @@ static void NamedOperand (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok @@ -3046,7 +3091,8 @@ static void registerImport (nameKey_Name ident, unsigned int scoped) /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -3077,8 +3123,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % curmodule := lookupModule (curident) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -3114,14 +3160,15 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -3254,8 +3301,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -3312,7 +3359,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -3332,7 +3380,8 @@ static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -3419,8 +3468,8 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -3472,9 +3521,11 @@ static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpression ')' | - 'NOT' ConstFactor | ConstAttribute + 'NOT' ConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -3679,7 +3730,8 @@ static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -3700,8 +3752,8 @@ static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -3823,7 +3875,8 @@ static void TypeDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Type := ( SimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType ) + SetType | PointerType | + ProcedureType ) first symbols:lparatok, lsbratok, proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok @@ -3944,7 +3997,8 @@ static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - SubrangeType := '[' ConstExpression '..' ConstExpression ']' + SubrangeType := '[' ConstExpression '..' ConstExpression + ']' first symbols:lsbratok @@ -3962,7 +4016,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -3985,8 +4040,8 @@ static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -4081,7 +4136,8 @@ static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - AttributeExpression := Ident '(' ConstExpression ')' + AttributeExpression := Ident '(' ConstExpression + ')' first symbols:identtok @@ -4237,7 +4293,8 @@ static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4276,8 +4333,8 @@ static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - SilentConstExpression := SilentSimpleConstExpr [ SilentRelation - SilentSimpleConstExpr ] + SilentConstExpression := SilentSimpleConstExpr [ + SilentRelation SilentSimpleConstExpr ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4296,8 +4353,8 @@ static void SilentConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - SilentRelation := '=' | '#' | '<>' | '<' | '<=' | - '>' | '>=' | 'IN' + SilentRelation := '=' | '#' | '<>' | '<' | + '<=' | '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -4354,8 +4411,8 @@ static void SilentRelation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - SilentSimpleConstExpr := SilentUnaryOrConstTerm { SilentAddOperator - SilentConstTerm } + SilentSimpleConstExpr := SilentUnaryOrConstTerm + { SilentAddOperator SilentConstTerm } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4443,7 +4500,8 @@ static void SilentAddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - SilentConstTerm := SilentConstFactor { SilentMulOperator SilentConstFactor } + SilentConstTerm := SilentConstFactor { SilentMulOperator + SilentConstFactor } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok @@ -4463,8 +4521,9 @@ static void SilentConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - SilentMulOperator := '*' | '/' | 'DIV' | 'MOD' | - 'REM' | 'AND' | '&' + SilentMulOperator := '*' | '/' | 'DIV' | + 'MOD' | 'REM' | 'AND' | + '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -4584,8 +4643,8 @@ static void SilentConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' - '(' SilentConstAttributeExpression + SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' SilentConstAttributeExpression ')' ')' first symbols:attributetok @@ -4606,7 +4665,9 @@ static void SilentConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO /* - SilentConstAttributeExpression := Ident | '<' Ident ',' SilentConstString + SilentConstAttributeExpression := Ident | + '<' Ident ',' + SilentConstString '>' first symbols:lesstok, identtok @@ -4638,7 +4699,8 @@ static void SilentConstAttributeExpression (SetOfStop0 stopset0, SetOfStop1 stop /* - SilentComponentElement := SilentConstExpression [ '..' SilentConstExpression ] + SilentComponentElement := SilentConstExpression + [ '..' SilentConstExpression ] first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4657,7 +4719,8 @@ static void SilentComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Se /* - SilentComponentValue := SilentComponentElement [ 'BY' SilentConstExpression ] + SilentComponentValue := SilentComponentElement [ + 'BY' SilentConstExpression ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4676,7 +4739,8 @@ static void SilentComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO /* - SilentArraySetRecordValue := SilentComponentValue { ',' SilentComponentValue } + SilentArraySetRecordValue := SilentComponentValue + { ',' SilentComponentValue } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4696,7 +4760,8 @@ static void SilentArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, /* - SilentConstructor := '{' [ SilentArraySetRecordValue ] '}' + SilentConstructor := '{' [ SilentArraySetRecordValue ] + '}' first symbols:lcbratok @@ -4716,8 +4781,9 @@ static void SilentConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* SilentConstSetOrQualidentOrFunction := SilentConstructor | - Qualident [ SilentConstructor | - SilentActualParameters ] + Qualident + [ SilentConstructor | + SilentActualParameters ] first symbols:identtok, lcbratok @@ -4783,7 +4849,8 @@ static void SilentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - SilentActualParameters := '(' [ SilentExpList ] ')' + SilentActualParameters := '(' [ SilentExpList ] + ')' first symbols:lparatok @@ -4886,7 +4953,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -4935,7 +5003,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -4964,7 +5033,8 @@ static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -5216,7 +5286,8 @@ static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -5271,7 +5342,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -5330,7 +5402,8 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -5454,7 +5527,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -5604,9 +5678,9 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -5637,7 +5711,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -5662,7 +5737,8 @@ static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -5768,7 +5844,8 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -5785,9 +5862,9 @@ static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpression ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpression ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -5960,11 +6037,10 @@ static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, Se /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - - % enterScope (curproc) % - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent + % enterScope (curproc) % + [ FormalParameters ] AttributeNoReturn ) first symbols:proceduretok @@ -6070,7 +6146,8 @@ static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -6278,7 +6355,8 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - DefFormalParameters := '(' [ DefMultiFPSection ] ')' FormalReturn + DefFormalParameters := '(' [ DefMultiFPSection ] + ')' FormalReturn first symbols:lparatok @@ -6298,7 +6376,8 @@ static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6330,7 +6409,8 @@ static void DefMultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - FormalParameters := '(' [ MultiFPSection ] ')' FormalReturn + FormalParameters := '(' [ MultiFPSection ] ')' + FormalReturn first symbols:lparatok @@ -6369,7 +6449,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6401,7 +6482,8 @@ static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -6580,8 +6662,9 @@ static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -6760,9 +6843,12 @@ static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset % VAR c: BOOLEAN ; % % c := FALSE % - 'DEFINITION' 'MODULE' [ 'FOR' string + 'DEFINITION' 'MODULE' [ 'FOR' + string + % c := TRUE % - ] Ident ';' + ] Ident + ';' % curmodule := lookupDef (curident) % % IF c THEN putDefForC (curmodule) END % @@ -6830,7 +6916,8 @@ static void DefinitionModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto % n := makeType (curident) % ( ';' % putTypeHidden (n) % - | '=' Type Alignment ';' ) } + | '=' Type Alignment + ';' ) } first symbols:identtok @@ -6950,7 +7037,8 @@ static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -6989,7 +7077,8 @@ static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -7073,7 +7162,8 @@ static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok diff --git a/gcc/m2/mc-boot/Gmcp2.c b/gcc/m2/mc-boot/Gmcp2.c index 8831c0e62d3..f085fc93079 100644 --- a/gcc/m2/mc-boot/Gmcp2.c +++ b/gcc/m2/mc-boot/Gmcp2.c @@ -185,7 +185,8 @@ static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) static void registerImport (nameKey_Name ident, unsigned int scoped); /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -199,8 +200,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % curmodule := lookupModule (curident) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -216,14 +217,15 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -290,8 +292,8 @@ static void ConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -301,7 +303,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -311,7 +314,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -342,8 +346,8 @@ static void AddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -353,9 +357,11 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpression ')' | - 'NOT' ConstFactor | ConstAttribute + 'NOT' ConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -437,7 +443,8 @@ static void ConstSetOrQualidentOrFunction (SetOfStop0 stopset0, SetOfStop1 stops static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -448,8 +455,8 @@ static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -511,8 +518,9 @@ static void Alignment (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void TypeDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Type := ( DefSimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType ) + Type := ( DefSimpleType | ArrayType | + RecordType | SetType | PointerType | + ProcedureType ) first symbols:proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok, lparatok, lsbratok @@ -571,7 +579,8 @@ static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SubrangeType := '[' ConstExpression '..' ConstExpression ']' + SubrangeType := '[' ConstExpression '..' ConstExpression + ']' first symbols:lsbratok @@ -581,7 +590,8 @@ static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -591,8 +601,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -642,7 +652,8 @@ static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AttributeExpression := Ident '(' ConstExpression ')' + AttributeExpression := Ident '(' ConstExpression + ')' first symbols:identtok @@ -714,7 +725,8 @@ static void CaseTag (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -734,8 +746,8 @@ static void VarientCaseLabelList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstExpression := SilentSimpleConstExpr [ SilentRelation - SilentSimpleConstExpr ] + SilentConstExpression := SilentSimpleConstExpr [ + SilentRelation SilentSimpleConstExpr ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -745,8 +757,8 @@ static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentRelation := '=' | '#' | '<>' | '<' | '<=' | - '>' | '>=' | 'IN' + SilentRelation := '=' | '#' | '<>' | '<' | + '<=' | '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -756,8 +768,8 @@ static void SilentConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void SilentRelation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentSimpleConstExpr := SilentUnaryOrConstTerm { SilentAddOperator - SilentConstTerm } + SilentSimpleConstExpr := SilentUnaryOrConstTerm + { SilentAddOperator SilentConstTerm } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -789,7 +801,8 @@ static void SilentUnaryOrConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, Se static void SilentAddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstTerm := SilentConstFactor { SilentMulOperator SilentConstFactor } + SilentConstTerm := SilentConstFactor { SilentMulOperator + SilentConstFactor } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok @@ -799,8 +812,9 @@ static void SilentAddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentMulOperator := '*' | '/' | 'DIV' | 'MOD' | - 'REM' | 'AND' | '&' + SilentMulOperator := '*' | '/' | 'DIV' | + 'MOD' | 'REM' | 'AND' | + '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -834,8 +848,8 @@ static void SilentConstFactor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' - '(' SilentConstAttributeExpression + SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' SilentConstAttributeExpression ')' ')' first symbols:attributetok @@ -846,7 +860,9 @@ static void SilentConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void SilentConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstAttributeExpression := Ident | '<' Ident ',' SilentConstString + SilentConstAttributeExpression := Ident | + '<' Ident ',' + SilentConstString '>' first symbols:lesstok, identtok @@ -857,7 +873,8 @@ static void SilentConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO static void SilentConstAttributeExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentComponentElement := SilentConstExpression [ '..' SilentConstExpression ] + SilentComponentElement := SilentConstExpression + [ '..' SilentConstExpression ] first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -867,7 +884,8 @@ static void SilentConstAttributeExpression (SetOfStop0 stopset0, SetOfStop1 stop static void SilentComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentComponentValue := SilentComponentElement [ 'BY' SilentConstExpression ] + SilentComponentValue := SilentComponentElement [ + 'BY' SilentConstExpression ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -877,7 +895,8 @@ static void SilentComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Se static void SilentComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentArraySetRecordValue := SilentComponentValue { ',' SilentComponentValue } + SilentArraySetRecordValue := SilentComponentValue + { ',' SilentComponentValue } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -887,7 +906,8 @@ static void SilentComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO static void SilentArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentConstructor := '{' [ SilentArraySetRecordValue ] '}' + SilentConstructor := '{' [ SilentArraySetRecordValue ] + '}' first symbols:lcbratok @@ -898,8 +918,9 @@ static void SilentConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* SilentConstSetOrQualidentOrFunction := SilentConstructor | - Qualident [ SilentConstructor | - SilentActualParameters ] + Qualident + [ SilentConstructor | + SilentActualParameters ] first symbols:identtok, lcbratok @@ -919,7 +940,8 @@ static void SilentConstSetOrQualidentOrFunction (SetOfStop0 stopset0, SetOfStop1 static void SilentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SilentActualParameters := '(' [ SilentExpList ] ')' + SilentActualParameters := '(' [ SilentExpList ] + ')' first symbols:lparatok @@ -970,7 +992,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -990,7 +1013,8 @@ static void FormalTypeList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -1000,7 +1024,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -1073,7 +1098,8 @@ static void DefVarIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* DefVariableDeclaration := % typeDes := NIL % - DefVarIdentList ':' Type Alignment + DefVarIdentList ':' Type + Alignment first symbols:identtok @@ -1144,7 +1170,8 @@ static void Expression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -1165,7 +1192,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -1176,7 +1204,8 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -1229,7 +1258,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -1277,9 +1307,9 @@ static void AssignmentOrProcedureCall (SetOfStop0 stopset0, SetOfStop1 stopset1, static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -1289,7 +1319,8 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -1300,7 +1331,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -1351,7 +1383,8 @@ static void CaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -1361,9 +1394,9 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpression ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpression ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -1429,11 +1462,10 @@ static void ProcedureIdent (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - - % enterScope (curproc) % - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent + % enterScope (curproc) % + [ FormalParameters ] AttributeNoReturn ) first symbols:proceduretok @@ -1478,7 +1510,8 @@ static void DefProcedureHeading (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -1572,7 +1605,8 @@ static void ExceptionalPart (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefFormalParameters := '(' [ DefMultiFPSection ] ')' FormalReturn + DefFormalParameters := '(' [ DefMultiFPSection ] + ')' FormalReturn first symbols:lparatok @@ -1582,7 +1616,8 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1592,7 +1627,8 @@ static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void DefMultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FormalParameters := '(' [ MultiFPSection ] ')' FormalReturn + FormalParameters := '(' [ MultiFPSection ] ')' + FormalReturn first symbols:lparatok @@ -1612,7 +1648,8 @@ static void FormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1622,7 +1659,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -1704,8 +1742,9 @@ static void DefOptArg (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -1777,7 +1816,8 @@ static void WithoutFromImport (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident ';' % curmodule := lookupDef (curident) % @@ -1823,6 +1863,7 @@ static void DefQualident (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* DefOptSubrange := [ SubrangeType | + % putType (typeDes, typeExp) % ] @@ -1885,8 +1926,9 @@ static void DefEnumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void DefSimpleType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefType := DefSimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType + DefType := DefSimpleType | ArrayType | + RecordType | SetType | PointerType | + ProcedureType first symbols:proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok, lparatok, lsbratok @@ -1898,7 +1940,8 @@ static void DefType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* DefTypeDeclaration := { Ident % typeDes := lookupSym (curident) % - ( ';' | '=' DefType Alignment ';' ) } + ( ';' | '=' DefType Alignment + ';' ) } first symbols:identtok @@ -1931,7 +1974,8 @@ static void DefConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, Se static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -1951,7 +1995,8 @@ static void AsmStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -1991,7 +2036,8 @@ static void NamedOperand (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok @@ -3158,7 +3204,8 @@ static void registerImport (nameKey_Name ident, unsigned int scoped) /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -3189,8 +3236,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % curmodule := lookupModule (curident) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -3229,14 +3276,15 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % % enterScope (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -3388,8 +3436,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -3446,7 +3494,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -3466,7 +3515,8 @@ static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -3553,8 +3603,8 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -3606,9 +3656,11 @@ static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpression ')' | - 'NOT' ConstFactor | ConstAttribute + 'NOT' ConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -3813,7 +3865,8 @@ static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -3834,8 +3887,8 @@ static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -3952,8 +4005,9 @@ static void TypeDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - Type := ( DefSimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType ) + Type := ( DefSimpleType | ArrayType | + RecordType | SetType | PointerType | + ProcedureType ) first symbols:proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok, lparatok, lsbratok @@ -4108,7 +4162,8 @@ static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - SubrangeType := '[' ConstExpression '..' ConstExpression ']' + SubrangeType := '[' ConstExpression '..' ConstExpression + ']' first symbols:lsbratok @@ -4126,7 +4181,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -4149,8 +4205,8 @@ static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -4245,7 +4301,8 @@ static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - AttributeExpression := Ident '(' ConstExpression ')' + AttributeExpression := Ident '(' ConstExpression + ')' first symbols:identtok @@ -4401,7 +4458,8 @@ static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4440,8 +4498,8 @@ static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - SilentConstExpression := SilentSimpleConstExpr [ SilentRelation - SilentSimpleConstExpr ] + SilentConstExpression := SilentSimpleConstExpr [ + SilentRelation SilentSimpleConstExpr ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4460,8 +4518,8 @@ static void SilentConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - SilentRelation := '=' | '#' | '<>' | '<' | '<=' | - '>' | '>=' | 'IN' + SilentRelation := '=' | '#' | '<>' | '<' | + '<=' | '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -4518,8 +4576,8 @@ static void SilentRelation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - SilentSimpleConstExpr := SilentUnaryOrConstTerm { SilentAddOperator - SilentConstTerm } + SilentSimpleConstExpr := SilentUnaryOrConstTerm + { SilentAddOperator SilentConstTerm } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4607,7 +4665,8 @@ static void SilentAddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - SilentConstTerm := SilentConstFactor { SilentMulOperator SilentConstFactor } + SilentConstTerm := SilentConstFactor { SilentMulOperator + SilentConstFactor } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok @@ -4627,8 +4686,9 @@ static void SilentConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - SilentMulOperator := '*' | '/' | 'DIV' | 'MOD' | - 'REM' | 'AND' | '&' + SilentMulOperator := '*' | '/' | 'DIV' | + 'MOD' | 'REM' | 'AND' | + '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -4748,8 +4808,8 @@ static void SilentConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' - '(' SilentConstAttributeExpression + SilentConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' SilentConstAttributeExpression ')' ')' first symbols:attributetok @@ -4770,7 +4830,9 @@ static void SilentConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO /* - SilentConstAttributeExpression := Ident | '<' Ident ',' SilentConstString + SilentConstAttributeExpression := Ident | + '<' Ident ',' + SilentConstString '>' first symbols:lesstok, identtok @@ -4802,7 +4864,8 @@ static void SilentConstAttributeExpression (SetOfStop0 stopset0, SetOfStop1 stop /* - SilentComponentElement := SilentConstExpression [ '..' SilentConstExpression ] + SilentComponentElement := SilentConstExpression + [ '..' SilentConstExpression ] first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4821,7 +4884,8 @@ static void SilentComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Se /* - SilentComponentValue := SilentComponentElement [ 'BY' SilentConstExpression ] + SilentComponentValue := SilentComponentElement [ + 'BY' SilentConstExpression ] first symbols:attributetok, lcbratok, identtok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4840,7 +4904,8 @@ static void SilentComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetO /* - SilentArraySetRecordValue := SilentComponentValue { ',' SilentComponentValue } + SilentArraySetRecordValue := SilentComponentValue + { ',' SilentComponentValue } first symbols:stringtok, identtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4860,7 +4925,8 @@ static void SilentArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, /* - SilentConstructor := '{' [ SilentArraySetRecordValue ] '}' + SilentConstructor := '{' [ SilentArraySetRecordValue ] + '}' first symbols:lcbratok @@ -4880,8 +4946,9 @@ static void SilentConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* SilentConstSetOrQualidentOrFunction := SilentConstructor | - Qualident [ SilentConstructor | - SilentActualParameters ] + Qualident + [ SilentConstructor | + SilentActualParameters ] first symbols:identtok, lcbratok @@ -4947,7 +5014,8 @@ static void SilentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - SilentActualParameters := '(' [ SilentExpList ] ')' + SilentActualParameters := '(' [ SilentExpList ] + ')' first symbols:lparatok @@ -5050,7 +5118,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -5099,7 +5168,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -5128,7 +5198,8 @@ static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -5281,7 +5352,8 @@ static void DefVarIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* DefVariableDeclaration := % typeDes := NIL % - DefVarIdentList ':' Type Alignment + DefVarIdentList ':' Type + Alignment first symbols:identtok @@ -5433,7 +5505,8 @@ static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -5488,7 +5561,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -5547,7 +5621,8 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -5671,7 +5746,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -5821,9 +5897,9 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -5854,7 +5930,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -5879,7 +5956,8 @@ static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -5985,7 +6063,8 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -6002,9 +6081,9 @@ static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpression ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpression ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -6142,11 +6221,10 @@ static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, Se /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - - % enterScope (curproc) % - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent + % enterScope (curproc) % + [ FormalParameters ] AttributeNoReturn ) first symbols:proceduretok @@ -6252,7 +6330,8 @@ static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -6460,7 +6539,8 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - DefFormalParameters := '(' [ DefMultiFPSection ] ')' FormalReturn + DefFormalParameters := '(' [ DefMultiFPSection ] + ')' FormalReturn first symbols:lparatok @@ -6480,7 +6560,8 @@ static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6512,7 +6593,8 @@ static void DefMultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - FormalParameters := '(' [ MultiFPSection ] ')' FormalReturn + FormalParameters := '(' [ MultiFPSection ] ')' + FormalReturn first symbols:lparatok @@ -6551,7 +6633,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6583,7 +6666,8 @@ static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -6762,8 +6846,9 @@ static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -6929,7 +7014,8 @@ static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident ';' % curmodule := lookupDef (curident) % @@ -7028,6 +7114,7 @@ static void DefQualident (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* DefOptSubrange := [ SubrangeType | + % putType (typeDes, typeExp) % ] @@ -7160,8 +7247,9 @@ static void DefSimpleType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - DefType := DefSimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType + DefType := DefSimpleType | ArrayType | + RecordType | SetType | PointerType | + ProcedureType first symbols:proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok, lparatok, lsbratok @@ -7210,7 +7298,8 @@ static void DefType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* DefTypeDeclaration := { Ident % typeDes := lookupSym (curident) % - ( ';' | '=' DefType Alignment ';' ) } + ( ';' | '=' DefType Alignment + ';' ) } first symbols:identtok @@ -7320,7 +7409,8 @@ static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -7359,7 +7449,8 @@ static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -7443,7 +7534,8 @@ static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok diff --git a/gcc/m2/mc-boot/Gmcp3.c b/gcc/m2/mc-boot/Gmcp3.c index 62e1181c88f..0cf16fcad1c 100644 --- a/gcc/m2/mc-boot/Gmcp3.c +++ b/gcc/m2/mc-boot/Gmcp3.c @@ -250,7 +250,8 @@ static void Integer (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -266,8 +267,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % enterScope (curmodule) % % resetEnumPos (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % setConstExpComplete (curmodule) % @@ -283,7 +284,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % @@ -291,8 +293,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % enterScope (curmodule) % % resetEnumPos (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % setConstExpComplete (curmodule) % @@ -362,6 +364,7 @@ static void ConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf ConstExpressionNop := SimpleConstExpr % VAR n: node ; % [ Relation SimpleConstExpr ] + % n := makeConstExp () % @@ -387,8 +390,8 @@ static void ConstExpressionNop (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfS static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -398,7 +401,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -408,7 +412,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -439,8 +444,8 @@ static void AddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -450,9 +455,11 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpressionNop ')' | - 'NOT' ConstFactor | ConstAttribute + 'NOT' ConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -544,7 +551,8 @@ static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -555,8 +563,8 @@ static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -731,7 +739,8 @@ static void RecordFieldPragma (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - PragmaConstExpression := [ '(' ConstExpressionNop ')' ] + PragmaConstExpression := [ '(' ConstExpressionNop + ')' ] first symbols:lparatok @@ -741,7 +750,8 @@ static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AttributeExpression := Ident '(' ConstExpressionNop ')' + AttributeExpression := Ident '(' ConstExpressionNop + ')' first symbols:identtok @@ -799,7 +809,8 @@ static void FieldListStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfS % r := addFieldsToRecord (r, v, i, t) % % assert (d=depth ()) % - | 'CASE' + | + 'CASE' % addRecordToList % % d := depth () % @@ -828,6 +839,7 @@ static void FieldListStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfS % assert (d = depth () - 1) % [ 'ELSE' FieldListSequence ] 'END' + % w := pop () ; assert (isVarient (w)) % % assert (d=depth ()) % @@ -904,6 +916,7 @@ static void CaseTag (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse % v := push (v) % VarientCaseLabelList ':' FieldListSequence + % v := pop () % % f := pop () % @@ -927,7 +940,8 @@ static void CaseTag (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -958,6 +972,7 @@ static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* SetType := ( 'SET' | 'PACKEDSET' ) 'OF' SimpleType + % VAR n: node ; % % n := push (makeSet (pop ())) % @@ -998,7 +1013,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -1037,6 +1053,7 @@ static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 ProcedureParameters := ProcedureParameter % addParameter (curproc, pop ()) % { ',' ProcedureParameter + % addParameter (curproc, pop ()) % } @@ -1179,7 +1196,8 @@ static void Expression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -1200,7 +1218,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -1211,7 +1230,8 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -1264,7 +1284,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -1312,9 +1333,9 @@ static void AssignmentOrProcedureCall (SetOfStop0 stopset0, SetOfStop1 stopset1, static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -1324,7 +1345,8 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -1335,7 +1357,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -1386,7 +1409,8 @@ static void CaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -1396,9 +1420,9 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpressionNop ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpressionNop ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -1480,9 +1504,9 @@ static void DefProcedureIdent (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent [ FormalParameters ] + AttributeNoReturn ) first symbols:proceduretok @@ -1525,7 +1549,8 @@ static void DefProcedureHeading (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -1622,6 +1647,7 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st DefFormalParameters := '(' % paramEnter (curproc) % [ DefMultiFPSection ] ')' + % paramLeave (curproc) % FormalReturn @@ -1633,7 +1659,8 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1679,7 +1706,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void NoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1689,7 +1717,8 @@ static void NoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -1819,8 +1848,9 @@ static void DefOptArg (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -1908,7 +1938,8 @@ static void WithoutFromImport (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident ';' % curmodule := lookupDef (curident) % @@ -2022,8 +2053,8 @@ static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st % VAR d: CARDINAL ; % % d := depth () % - ( TypeEquiv | Enumeration | SubrangeType ) - + ( TypeEquiv | Enumeration | + SubrangeType ) % assert (d = depth () - 1) % @@ -2073,7 +2104,8 @@ static void TypeDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -2093,7 +2125,8 @@ static void AsmStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -2133,7 +2166,8 @@ static void NamedOperand (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok @@ -3426,7 +3460,8 @@ static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -3459,8 +3494,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % enterScope (curmodule) % % resetEnumPos (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % setConstExpComplete (curmodule) % @@ -3500,7 +3535,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % @@ -3508,8 +3544,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % enterScope (curmodule) % % resetEnumPos (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % setConstExpComplete (curmodule) % @@ -3663,6 +3699,7 @@ static void ConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf ConstExpressionNop := SimpleConstExpr % VAR n: node ; % [ Relation SimpleConstExpr ] + % n := makeConstExp () % @@ -3712,8 +3749,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -3770,7 +3807,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -3790,7 +3828,8 @@ static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -3877,8 +3916,8 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -3930,9 +3969,11 @@ static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpressionNop ')' | - 'NOT' ConstFactor | ConstAttribute + 'NOT' ConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -4162,7 +4203,8 @@ static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -4183,8 +4225,8 @@ static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -4513,7 +4555,8 @@ static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - PragmaConstExpression := [ '(' ConstExpressionNop ')' ] + PragmaConstExpression := [ '(' ConstExpressionNop + ')' ] first symbols:lparatok @@ -4532,7 +4575,8 @@ static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - AttributeExpression := Ident '(' ConstExpressionNop ')' + AttributeExpression := Ident '(' ConstExpressionNop + ')' first symbols:identtok @@ -4614,7 +4658,8 @@ static void FieldListStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfS % r := addFieldsToRecord (r, v, i, t) % % assert (d=depth ()) % - | 'CASE' + | + 'CASE' % addRecordToList % % d := depth () % @@ -4643,6 +4688,7 @@ static void FieldListStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfS % assert (d = depth () - 1) % [ 'ELSE' FieldListSequence ] 'END' + % w := pop () ; assert (isVarient (w)) % % assert (d=depth ()) % @@ -4841,6 +4887,7 @@ static void CaseTag (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse % v := push (v) % VarientCaseLabelList ':' FieldListSequence + % v := pop () % % f := pop () % @@ -4895,7 +4942,8 @@ static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4951,6 +4999,7 @@ static void VarientCaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* SetType := ( 'SET' | 'PACKEDSET' ) 'OF' SimpleType + % VAR n: node ; % % n := push (makeSet (pop ())) % @@ -5031,7 +5080,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -5121,6 +5171,7 @@ static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 ProcedureParameters := ProcedureParameter % addParameter (curproc, pop ()) % { ',' ProcedureParameter + % addParameter (curproc, pop ()) % } @@ -5419,7 +5470,8 @@ static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -5474,7 +5526,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -5533,7 +5586,8 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -5657,7 +5711,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -5807,9 +5862,9 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -5840,7 +5895,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -5865,7 +5921,8 @@ static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -5971,7 +6028,8 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -5988,9 +6046,9 @@ static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpressionNop ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpressionNop ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -6151,9 +6209,9 @@ static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, Se /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent [ FormalParameters ] + AttributeNoReturn ) first symbols:proceduretok @@ -6255,7 +6313,8 @@ static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -6465,6 +6524,7 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st DefFormalParameters := '(' % paramEnter (curproc) % [ DefMultiFPSection ] ')' + % paramLeave (curproc) % FormalReturn @@ -6488,7 +6548,8 @@ static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6592,7 +6653,8 @@ static void NoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6624,7 +6686,8 @@ static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -6891,8 +6954,9 @@ static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -7087,7 +7151,8 @@ static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident ';' % curmodule := lookupDef (curident) % @@ -7299,8 +7364,8 @@ static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st % VAR d: CARDINAL ; % % d := depth () % - ( TypeEquiv | Enumeration | SubrangeType ) - + ( TypeEquiv | Enumeration | + SubrangeType ) % assert (d = depth () - 1) % @@ -7485,7 +7550,8 @@ static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -7524,7 +7590,8 @@ static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -7608,7 +7675,8 @@ static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok diff --git a/gcc/m2/mc-boot/Gmcp4.c b/gcc/m2/mc-boot/Gmcp4.c index 1c43bf30c96..d55c80410d9 100644 --- a/gcc/m2/mc-boot/Gmcp4.c +++ b/gcc/m2/mc-boot/Gmcp4.c @@ -249,7 +249,8 @@ static void Integer (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -265,8 +266,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -280,7 +281,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % @@ -288,8 +290,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -382,8 +384,8 @@ static void ConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -459,8 +461,8 @@ static void AddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -484,9 +486,11 @@ static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void NotConstFactor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpression ')' | - NotConstFactor | ConstAttribute + NotConstFactor | + ConstAttribute first symbols:identtok, attributetok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -517,6 +521,7 @@ static void ConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st % h := NIL % [ '..' ConstExpression + % h := pop () % % ErrorArray ('implementation restriction range is not allowed') % @@ -533,6 +538,7 @@ static void ConstComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* ConstComponentValue := ConstComponentElement [ 'BY' + % ErrorArray ('implementation restriction BY not allowed') % ConstExpression ] @@ -544,7 +550,8 @@ static void ConstComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void ConstComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstArraySetRecordValue := ConstComponentValue { ',' ConstComponentValue } + ConstArraySetRecordValue := ConstComponentValue + { ',' ConstComponentValue } first symbols:identtok, stringtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -558,7 +565,8 @@ static void ConstArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, % VAR n: node ; % % n := push (makeSetValue ()) % - [ ConstArraySetRecordValue ] '}' + [ ConstArraySetRecordValue ] + '}' first symbols:lcbratok @@ -575,6 +583,7 @@ static void ConstConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto PushQualident % assert (d+1 = depth ()) % [ ConstConstructor + % p := pop () % % q := pop () % @@ -582,7 +591,8 @@ static void ConstConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto % n := push (putSetValue (p, q)) % % assert (d+1 = depth ()) % - | ConstActualParameters + | + ConstActualParameters % p := pop () % @@ -595,6 +605,7 @@ static void ConstConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto % d := depth () % ConstConstructor + % assert (d+1 = depth ()) % @@ -648,7 +659,8 @@ static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -663,7 +675,8 @@ static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % VAR n: node ; % % n := push (getBuiltinConst (curident)) % - | '<' Qualident ',' Ident '>' + | '<' Qualident ',' + Ident '>' first symbols:lesstok, identtok @@ -743,7 +756,8 @@ static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void PushIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SubrangeType := '[' ConstExpression '..' ConstExpression ']' + SubrangeType := '[' ConstExpression '..' ConstExpression + ']' first symbols:lsbratok @@ -753,7 +767,8 @@ static void PushIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -763,8 +778,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -814,7 +829,8 @@ static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AttributeExpression := Ident '(' ConstExpression ')' + AttributeExpression := Ident '(' ConstExpression + ')' first symbols:identtok @@ -888,7 +904,8 @@ static void CaseTag (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:identtok, attributetok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -939,7 +956,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -959,7 +977,8 @@ static void FormalTypeList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -969,7 +988,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -1085,7 +1105,8 @@ static void Expression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -1106,7 +1127,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -1117,6 +1139,7 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* ComponentElement := Expression [ '..' Expression + % ErrorArray ('implementation restriction range not allowed') % ] @@ -1161,7 +1184,8 @@ static void Constructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -1214,7 +1238,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -1262,9 +1287,9 @@ static void AssignmentOrProcedureCall (SetOfStop0 stopset0, SetOfStop1 stopset1, static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -1274,7 +1299,8 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -1285,7 +1311,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -1336,7 +1363,8 @@ static void CaseLabels (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -1346,9 +1374,9 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpression ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpression ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -1430,9 +1458,9 @@ static void DefProcedureIdent (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent [ FormalParameters ] + AttributeNoReturn ) first symbols:proceduretok @@ -1475,7 +1503,8 @@ static void DefProcedureHeading (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -1572,6 +1601,7 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st DefFormalParameters := '(' % paramEnter (curproc) % [ DefMultiFPSection ] ')' + % paramLeave (curproc) % FormalReturn @@ -1583,7 +1613,8 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1617,7 +1648,8 @@ static void FormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -1627,7 +1659,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -1709,8 +1742,9 @@ static void DefOptArg (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -1752,7 +1786,8 @@ static void Export (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset static void FromIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FromImport := 'FROM' Ident 'IMPORT' FromIdentList ';' + FromImport := 'FROM' Ident 'IMPORT' FromIdentList + ';' first symbols:fromtok @@ -1792,7 +1827,8 @@ static void WithoutFromImport (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident % curmodule := lookupDef (curident) % @@ -1884,7 +1920,8 @@ static void EnumIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SimpleType := TypeEquiv | Enumeration | SubrangeType + SimpleType := TypeEquiv | Enumeration | + SubrangeType first symbols:lsbratok, lparatok, identtok @@ -1905,7 +1942,8 @@ static void SimpleType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void Type (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - TypeDeclaration := { Ident ( ';' | '=' Type Alignment ';' ) } + TypeDeclaration := { Ident ( ';' | '=' Type Alignment + ';' ) } first symbols:identtok @@ -1979,8 +2017,9 @@ static void DefEnumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void DefSimpleType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefType := DefSimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType + DefType := DefSimpleType | ArrayType | + RecordType | SetType | PointerType | + ProcedureType first symbols:proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok, lparatok, lsbratok @@ -1990,8 +2029,8 @@ static void DefSimpleType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void DefType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefTypeDeclaration := { Ident ( ';' | '=' DefType Alignment - ';' ) } + DefTypeDeclaration := { Ident ( ';' | '=' DefType + Alignment ';' ) } first symbols:identtok @@ -2024,7 +2063,8 @@ static void DefConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, Se static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -2044,7 +2084,8 @@ static void AsmStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -2084,7 +2125,8 @@ static void NamedOperand (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok @@ -3383,7 +3425,8 @@ static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -3416,8 +3459,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -3454,7 +3497,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % enterScope (lookupDef (curident)) % @@ -3462,8 +3506,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -3662,8 +3706,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -3870,8 +3914,8 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -3945,9 +3989,11 @@ static void NotConstFactor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ConstFactor := Number | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := Number | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpression ')' | - NotConstFactor | ConstAttribute + NotConstFactor | + ConstAttribute first symbols:identtok, attributetok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -4024,6 +4070,7 @@ static void ConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st % h := NIL % [ '..' ConstExpression + % h := pop () % % ErrorArray ('implementation restriction range is not allowed') % @@ -4058,6 +4105,7 @@ static void ConstComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* ConstComponentValue := ConstComponentElement [ 'BY' + % ErrorArray ('implementation restriction BY not allowed') % ConstExpression ] @@ -4079,7 +4127,8 @@ static void ConstComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf /* - ConstArraySetRecordValue := ConstComponentValue { ',' ConstComponentValue } + ConstArraySetRecordValue := ConstComponentValue + { ',' ConstComponentValue } first symbols:identtok, stringtok, lcbratok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4103,7 +4152,8 @@ static void ConstArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, % VAR n: node ; % % n := push (makeSetValue ()) % - [ ConstArraySetRecordValue ] '}' + [ ConstArraySetRecordValue ] + '}' first symbols:lcbratok @@ -4132,6 +4182,7 @@ static void ConstConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto PushQualident % assert (d+1 = depth ()) % [ ConstConstructor + % p := pop () % % q := pop () % @@ -4139,7 +4190,8 @@ static void ConstConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto % n := push (putSetValue (p, q)) % % assert (d+1 = depth ()) % - | ConstActualParameters + | + ConstActualParameters % p := pop () % @@ -4152,6 +4204,7 @@ static void ConstConstructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto % d := depth () % ConstConstructor + % assert (d+1 = depth ()) % @@ -4287,7 +4340,8 @@ static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -4312,7 +4366,8 @@ static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % VAR n: node ; % % n := push (getBuiltinConst (curident)) % - | '<' Qualident ',' Ident '>' + | '<' Qualident ',' + Ident '>' first symbols:lesstok, identtok @@ -4468,7 +4523,8 @@ static void PushIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - SubrangeType := '[' ConstExpression '..' ConstExpression ']' + SubrangeType := '[' ConstExpression '..' ConstExpression + ']' first symbols:lsbratok @@ -4486,7 +4542,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -4509,8 +4566,8 @@ static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -4605,7 +4662,8 @@ static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - AttributeExpression := Ident '(' ConstExpression ')' + AttributeExpression := Ident '(' ConstExpression + ')' first symbols:identtok @@ -4767,7 +4825,8 @@ static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:identtok, attributetok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4870,7 +4929,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -4919,7 +4979,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -4948,7 +5009,8 @@ static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -5200,7 +5262,8 @@ static void SimpleExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto /* - UnaryOrTerm := '+' Term | '-' Term | Term + UnaryOrTerm := '+' Term | '-' Term | + Term first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok, minustok, plustok @@ -5255,7 +5318,8 @@ static void Term (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* Factor := Number | string | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor | ConstAttribute ) + '(' Expression ')' | + 'NOT' ( Factor | ConstAttribute ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -5314,6 +5378,7 @@ static void Factor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* ComponentElement := Expression [ '..' Expression + % ErrorArray ('implementation restriction range not allowed') % ] @@ -5397,7 +5462,8 @@ static void Constructor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* SetOrDesignatorOrFunction := Qualident [ Constructor | - SimpleDes [ ActualParameters ] ] | + SimpleDes + [ ActualParameters ] ] | Constructor first symbols:lcbratok, identtok @@ -5521,7 +5587,8 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := [ AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | @@ -5671,9 +5738,9 @@ static void StatementSequence (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - IfStatement := 'IF' Expression 'THEN' StatementSequence { - 'ELSIF' Expression 'THEN' StatementSequence } [ 'ELSE' StatementSequence ] - 'END' + IfStatement := 'IF' Expression 'THEN' StatementSequence + { 'ELSIF' Expression 'THEN' StatementSequence } + [ 'ELSE' StatementSequence ] 'END' first symbols:iftok @@ -5704,7 +5771,8 @@ static void IfStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - CaseStatement := 'CASE' Expression 'OF' Case { '|' Case } + CaseStatement := 'CASE' Expression 'OF' Case { '|' + Case } CaseEndStatement first symbols:casetok @@ -5729,7 +5797,8 @@ static void CaseStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - CaseEndStatement := 'END' | 'ELSE' StatementSequence 'END' + CaseEndStatement := 'END' | 'ELSE' StatementSequence + 'END' first symbols:elsetok, endtok @@ -5835,7 +5904,8 @@ static void WhileStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' Expression + RepeatStatement := 'REPEAT' StatementSequence 'UNTIL' + Expression first symbols:repeattok @@ -5852,9 +5922,9 @@ static void RepeatStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - ForStatement := 'FOR' Ident ':=' Expression 'TO' Expression - [ 'BY' ConstExpression ] 'DO' StatementSequence - 'END' + ForStatement := 'FOR' Ident ':=' Expression 'TO' + Expression [ 'BY' ConstExpression ] + 'DO' StatementSequence 'END' first symbols:fortok @@ -6015,9 +6085,9 @@ static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, Se /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent [ FormalParameters ] + AttributeNoReturn ) first symbols:proceduretok @@ -6119,7 +6189,8 @@ static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -6329,6 +6400,7 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st DefFormalParameters := '(' % paramEnter (curproc) % [ DefMultiFPSection ] ')' + % paramLeave (curproc) % FormalReturn @@ -6352,7 +6424,8 @@ static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6429,7 +6502,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -6461,7 +6535,8 @@ static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -6640,8 +6715,9 @@ static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -6746,7 +6822,8 @@ static void FromIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - FromImport := 'FROM' Ident 'IMPORT' FromIdentList ';' + FromImport := 'FROM' Ident 'IMPORT' FromIdentList + ';' first symbols:fromtok @@ -6827,7 +6904,8 @@ static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident % curmodule := lookupDef (curident) % @@ -7005,7 +7083,8 @@ static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - SimpleType := TypeEquiv | Enumeration | SubrangeType + SimpleType := TypeEquiv | Enumeration | + SubrangeType first symbols:lsbratok, lparatok, identtok @@ -7085,7 +7164,8 @@ static void Type (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* - TypeDeclaration := { Ident ( ';' | '=' Type Alignment ';' ) } + TypeDeclaration := { Ident ( ';' | '=' Type Alignment + ';' ) } first symbols:identtok @@ -7246,8 +7326,9 @@ static void DefSimpleType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - DefType := DefSimpleType | ArrayType | RecordType | - SetType | PointerType | ProcedureType + DefType := DefSimpleType | ArrayType | + RecordType | SetType | PointerType | + ProcedureType first symbols:proceduretok, pointertok, settok, packedsettok, oftok, recordtok, arraytok, identtok, lparatok, lsbratok @@ -7294,8 +7375,8 @@ static void DefType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* - DefTypeDeclaration := { Ident ( ';' | '=' DefType Alignment - ';' ) } + DefTypeDeclaration := { Ident ( ';' | '=' DefType + Alignment ';' ) } first symbols:identtok @@ -7404,7 +7485,8 @@ static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + AsmStatement := 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -7443,7 +7525,8 @@ static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -7527,7 +7610,8 @@ static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok diff --git a/gcc/m2/mc-boot/Gmcp5.c b/gcc/m2/mc-boot/Gmcp5.c index 51e28b2b09e..6018ba9ef08 100644 --- a/gcc/m2/mc-boot/Gmcp5.c +++ b/gcc/m2/mc-boot/Gmcp5.c @@ -326,7 +326,8 @@ static void Integer (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -344,8 +345,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -359,7 +360,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % addCommentBody (curmodule) % @@ -369,8 +371,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -467,7 +469,8 @@ static void ConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf % VAR c: node ; % % c := getNextConstExp () % - SimpleConstExpr [ Relation SimpleConstExpr ] + SimpleConstExpr [ Relation + SimpleConstExpr ] first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -491,8 +494,8 @@ static void ConstExpressionNop (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfS static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -502,7 +505,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -512,7 +516,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -543,8 +548,8 @@ static void AddOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -568,9 +573,11 @@ static void MulOperator (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void NotConstFactor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstFactor := ConstNumber | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := ConstNumber | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpressionNop ')' | - NotConstFactor | ConstAttribute + NotConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -590,7 +597,8 @@ static void ConstFactor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void ConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstComponentElement := ConstExpressionNop [ '..' ConstExpressionNop ] + ConstComponentElement := ConstExpressionNop [ '..' + ConstExpressionNop ] first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -600,7 +608,8 @@ static void ConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st static void ConstComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstComponentValue := ConstComponentElement [ 'BY' ConstExpressionNop ] + ConstComponentValue := ConstComponentElement [ 'BY' + ConstExpressionNop ] first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -610,7 +619,8 @@ static void ConstComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void ConstComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstArraySetRecordValue := ConstComponentValue { ',' ConstComponentValue } + ConstArraySetRecordValue := ConstComponentValue + { ',' ConstComponentValue } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -620,7 +630,8 @@ static void ConstComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ConstArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstConstructor := '{' [ ConstArraySetRecordValue ] '}' + ConstConstructor := '{' [ ConstArraySetRecordValue ] + '}' first symbols:lcbratok @@ -662,7 +673,8 @@ static void ConstActualParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -673,8 +685,8 @@ static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -745,7 +757,8 @@ static void IdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -755,8 +768,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -796,7 +809,8 @@ static void RecordFieldPragma (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - PragmaConstExpression := [ '(' ConstExpressionNop ')' ] + PragmaConstExpression := [ '(' ConstExpressionNop + ')' ] first symbols:lparatok @@ -806,7 +820,8 @@ static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AttributeExpression := Ident '(' ConstExpressionNop ')' + AttributeExpression := Ident '(' ConstExpressionNop + ')' first symbols:identtok @@ -880,7 +895,8 @@ static void CaseTag (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -931,7 +947,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -951,7 +968,8 @@ static void FormalTypeList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -961,7 +979,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -1180,6 +1199,7 @@ static void Expression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto % n := pop () % AddOperator Term + % n := push (makeBinaryTok (op, n, pop ())) % } @@ -1240,14 +1260,14 @@ static void PushString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* Factor := Number | PushString | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor - % VAR n: node ; % - - % n := push (makeUnaryTok (nottok, pop ())) % - | ConstAttribute - - % n := push (makeUnaryTok (nottok, pop ())) % - ) + '(' Expression ')' | + 'NOT' ( Factor + % VAR n: node ; % + + % n := push (makeUnaryTok (nottok, pop ())) % + | ConstAttribute + % n := push (makeUnaryTok (nottok, pop ())) % + ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -1410,11 +1430,13 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := ( AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | RetryStatement | + % VAR s: node ; % % s := pushStmt (NIL) % @@ -1448,9 +1470,12 @@ static void RetryStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % d := pop () % ( ':=' Expression % a := pushStmt (makeAssignment (d, pop ())) % - | ActualParameters + | + ActualParameters + % a := pushStmt (makeFuncCall (d, pop ())) % | + % a := pushStmt (makeFuncCall (d, NIL)) % ) % addCommentBody (peepStmt ()) % @@ -1797,9 +1822,9 @@ static void DefProcedureIdent (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent [ FormalParameters ] + AttributeNoReturn ) first symbols:proceduretok @@ -1842,7 +1867,8 @@ static void DefProcedureHeading (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -1896,7 +1922,8 @@ static void InitialBlockBody (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto static void FinalBlockBody (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ProcedureBlockBody := ProcedureNormalPart [ 'EXCEPT' ExceptionalPart ] + ProcedureBlockBody := ProcedureNormalPart [ 'EXCEPT' + ExceptionalPart ] first symbols:identtok, iftok, casetok, whiletok, repeattok, looptok, fortok, withtok, asmtok, retrytok, semicolontok, exittok, returntok, excepttok @@ -1955,6 +1982,7 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st DefFormalParameters := '(' % paramEnter (curproc) % [ DefMultiFPSection ] ')' + % paramLeave (curproc) % FormalReturn @@ -1976,7 +2004,8 @@ static void DefFormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -2000,7 +2029,8 @@ static void DefMultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void FormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -2010,7 +2040,8 @@ static void FormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -2092,8 +2123,9 @@ static void DefOptArg (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -2135,7 +2167,8 @@ static void Export (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset static void FromIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - FromImport := 'FROM' Ident 'IMPORT' FromIdentList ';' + FromImport := 'FROM' Ident 'IMPORT' FromIdentList + ';' first symbols:fromtok @@ -2175,7 +2208,8 @@ static void WithoutFromImport (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident ';' % curmodule := lookupDef (curident) % @@ -2277,7 +2311,8 @@ static void EnumIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - SimpleType := TypeEquiv | Enumeration | SubrangeType + SimpleType := TypeEquiv | Enumeration | + SubrangeType first symbols:lsbratok, lparatok, identtok @@ -2298,7 +2333,8 @@ static void SimpleType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto static void Type (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - TypeDeclaration := { Ident ( ';' | '=' Type Alignment ';' ) } + TypeDeclaration := { Ident ( ';' | '=' Type Alignment + ';' ) } first symbols:identtok @@ -2325,7 +2361,8 @@ static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto % VAR s: node ; % % s := pushStmt (makeComment ("asm")) % - 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -2345,7 +2382,8 @@ static void AsmStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -2385,7 +2423,8 @@ static void NamedOperand (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2); /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok @@ -3873,7 +3912,8 @@ static void Real (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* - FileUnit := DefinitionModule | ImplementationOrProgramModule + FileUnit := DefinitionModule | + ImplementationOrProgramModule first symbols:implementationtok, moduletok, definitiontok @@ -3908,8 +3948,8 @@ static void FileUnit (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block Ident - + [ Priority ] ';' { Import } Block + Ident % checkEndName (curmodule, curident, 'program module') % % leaveScope % @@ -3947,7 +3987,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ImplementationModule := 'IMPLEMENTATION' 'MODULE' Ident + ImplementationModule := 'IMPLEMENTATION' 'MODULE' + Ident % curmodule := lookupImp (curident) % % addCommentBody (curmodule) % @@ -3957,8 +3998,8 @@ static void ProgramModule (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % enterScope (curmodule) % % resetConstExpPos (curmodule) % - [ Priority ] ';' { Import } Block - Ident + [ Priority ] ';' { Import } + Block Ident % checkEndName (curmodule, curident, 'implementation module') % % leaveScope ; leaveScope % @@ -4163,7 +4204,8 @@ static void ConstantDeclaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf % VAR c: node ; % % c := getNextConstExp () % - SimpleConstExpr [ Relation SimpleConstExpr ] + SimpleConstExpr [ Relation + SimpleConstExpr ] first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4211,8 +4253,8 @@ static void ConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - Relation := '=' | '#' | '<>' | '<' | '<=' | '>' | - '>=' | 'IN' + Relation := '=' | '#' | '<>' | '<' | '<=' | + '>' | '>=' | 'IN' first symbols:intok, greaterequaltok, greatertok, lessequaltok, lesstok, lessgreatertok, hashtok, equaltok @@ -4269,7 +4311,8 @@ static void Relation (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stops /* - SimpleConstExpr := UnaryOrConstTerm { AddOperator ConstTerm } + SimpleConstExpr := UnaryOrConstTerm { AddOperator + ConstTerm } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4289,7 +4332,8 @@ static void SimpleConstExpr (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* - UnaryOrConstTerm := '+' ConstTerm | '-' ConstTerm | + UnaryOrConstTerm := '+' ConstTerm | + '-' ConstTerm | ConstTerm first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4376,8 +4420,8 @@ static void ConstTerm (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - MulOperator := '*' | '/' | 'DIV' | 'MOD' | 'REM' | - 'AND' | '&' + MulOperator := '*' | '/' | 'DIV' | 'MOD' | + 'REM' | 'AND' | '&' first symbols:ambersandtok, andtok, remtok, modtok, divtok, dividetok, timestok @@ -4451,9 +4495,11 @@ static void NotConstFactor (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ConstFactor := ConstNumber | ConstString | ConstSetOrQualidentOrFunction | + ConstFactor := ConstNumber | ConstString | + ConstSetOrQualidentOrFunction | '(' ConstExpressionNop ')' | - NotConstFactor | ConstAttribute + NotConstFactor | + ConstAttribute first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok @@ -4516,7 +4562,8 @@ static void ConstString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - ConstComponentElement := ConstExpressionNop [ '..' ConstExpressionNop ] + ConstComponentElement := ConstExpressionNop [ '..' + ConstExpressionNop ] first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4535,7 +4582,8 @@ static void ConstComponentElement (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - ConstComponentValue := ConstComponentElement [ 'BY' ConstExpressionNop ] + ConstComponentValue := ConstComponentElement [ 'BY' + ConstExpressionNop ] first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -4554,7 +4602,8 @@ static void ConstComponentValue (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOf /* - ConstArraySetRecordValue := ConstComponentValue { ',' ConstComponentValue } + ConstArraySetRecordValue := ConstComponentValue + { ',' ConstComponentValue } first symbols:stringtok, lcbratok, identtok, attributetok, realtok, integertok, lparatok, nottok, plustok, minustok @@ -4574,7 +4623,8 @@ static void ConstArraySetRecordValue (SetOfStop0 stopset0, SetOfStop1 stopset1, /* - ConstConstructor := '{' [ ConstArraySetRecordValue ] '}' + ConstConstructor := '{' [ ConstArraySetRecordValue ] + '}' first symbols:lcbratok @@ -4682,7 +4732,8 @@ static void ConstExpList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' '(' '(' ConstAttributeExpression + ConstAttribute := '__ATTRIBUTE__' '__BUILTIN__' + '(' '(' ConstAttributeExpression ')' ')' first symbols:attributetok @@ -4703,8 +4754,8 @@ static void ConstAttribute (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ConstAttributeExpression := Ident | '<' Qualident ',' Ident - '>' + ConstAttributeExpression := Ident | '<' Qualident + ',' Ident '>' first symbols:lesstok, identtok @@ -4840,7 +4891,8 @@ static void SubrangeType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - ArrayType := 'ARRAY' SimpleType { ',' SimpleType } 'OF' Type + ArrayType := 'ARRAY' SimpleType { ',' SimpleType } + 'OF' Type first symbols:arraytok @@ -4863,8 +4915,8 @@ static void ArrayType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stop /* - RecordType := 'RECORD' [ DefaultRecordAttributes ] FieldListSequence - 'END' + RecordType := 'RECORD' [ DefaultRecordAttributes ] + FieldListSequence 'END' first symbols:recordtok @@ -4940,7 +4992,8 @@ static void FieldPragmaExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - PragmaConstExpression := [ '(' ConstExpressionNop ')' ] + PragmaConstExpression := [ '(' ConstExpressionNop + ')' ] first symbols:lparatok @@ -4959,7 +5012,8 @@ static void PragmaConstExpression (SetOfStop0 stopset0, SetOfStop1 stopset1, Set /* - AttributeExpression := Ident '(' ConstExpressionNop ')' + AttributeExpression := Ident '(' ConstExpressionNop + ')' first symbols:identtok @@ -5121,7 +5175,8 @@ static void Varient (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopse /* - VarientCaseLabelList := VarientCaseLabels { ',' VarientCaseLabels } + VarientCaseLabelList := VarientCaseLabels { ',' + VarientCaseLabels } first symbols:attributetok, identtok, lcbratok, stringtok, nottok, lparatok, integertok, realtok, minustok, plustok @@ -5224,7 +5279,8 @@ static void ProcedureType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* FormalTypeList := '(' ( ')' FormalReturn | - ProcedureParameters ')' FormalReturn ) + ProcedureParameters ')' + FormalReturn ) first symbols:lparatok @@ -5273,7 +5329,8 @@ static void FormalReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 s /* - OptReturnType := '[' Qualident ']' | Qualident + OptReturnType := '[' Qualident ']' | + Qualident first symbols:identtok, lsbratok @@ -5302,7 +5359,8 @@ static void OptReturnType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ProcedureParameters := ProcedureParameter { ',' ProcedureParameter } + ProcedureParameters := ProcedureParameter { ',' + ProcedureParameter } first symbols:identtok, arraytok, periodperiodperiodtok, vartok @@ -5755,6 +5813,7 @@ static void Expression (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto % n := pop () % AddOperator Term + % n := push (makeBinaryTok (op, n, pop ())) % } @@ -5882,14 +5941,14 @@ static void PushString (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* Factor := Number | PushString | SetOrDesignatorOrFunction | - '(' Expression ')' | 'NOT' ( Factor - % VAR n: node ; % - - % n := push (makeUnaryTok (nottok, pop ())) % - | ConstAttribute - - % n := push (makeUnaryTok (nottok, pop ())) % - ) + '(' Expression ')' | + 'NOT' ( Factor + % VAR n: node ; % + + % n := push (makeUnaryTok (nottok, pop ())) % + | ConstAttribute + % n := push (makeUnaryTok (nottok, pop ())) % + ) first symbols:identtok, lcbratok, nottok, lparatok, stringtok, integertok, realtok @@ -6256,11 +6315,13 @@ static void ReturnStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop /* Statement := ( AssignmentOrProcedureCall | IfStatement | CaseStatement | - WhileStatement | RepeatStatement | + WhileStatement | + RepeatStatement | LoopStatement | ForStatement | WithStatement | AsmStatement | ExitStatement | ReturnStatement | RetryStatement | + % VAR s: node ; % % s := pushStmt (NIL) % @@ -6370,9 +6431,12 @@ static void RetryStatement (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 % d := pop () % ( ':=' Expression % a := pushStmt (makeAssignment (d, pop ())) % - | ActualParameters + | + ActualParameters + % a := pushStmt (makeFuncCall (d, pop ())) % | + % a := pushStmt (makeFuncCall (d, NIL)) % ) % addCommentBody (peepStmt ()) % @@ -7044,9 +7108,9 @@ static void DefineBuiltinProcedure (SetOfStop0 stopset0, SetOfStop1 stopset1, Se /* - ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure ( ProcedureIdent - [ - FormalParameters ] AttributeNoReturn ) + ProcedureHeading := 'PROCEDURE' DefineBuiltinProcedure + ( ProcedureIdent [ FormalParameters ] + AttributeNoReturn ) first symbols:proceduretok @@ -7148,7 +7212,8 @@ static void ProcedureBlock (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - Block := { Declaration } InitialBlock FinalBlock 'END' + Block := { Declaration } InitialBlock FinalBlock + 'END' first symbols:proceduretok, moduletok, finallytok, begintok, consttok, typetok, vartok, endtok @@ -7249,7 +7314,8 @@ static void FinalBlockBody (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - ProcedureBlockBody := ProcedureNormalPart [ 'EXCEPT' ExceptionalPart ] + ProcedureBlockBody := ProcedureNormalPart [ 'EXCEPT' + ExceptionalPart ] first symbols:identtok, iftok, casetok, whiletok, repeattok, looptok, fortok, withtok, asmtok, retrytok, semicolontok, exittok, returntok, excepttok @@ -7381,6 +7447,7 @@ static void Declaration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st DefFormalParameters := '(' % paramEnter (curproc) % [ DefMultiFPSection ] ')' + % paramLeave (curproc) % FormalReturn @@ -7423,7 +7490,8 @@ static void AttributeNoReturn (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSt /* - DefMultiFPSection := DefExtendedFP | FPSection [ ';' DefMultiFPSection ] + DefMultiFPSection := DefExtendedFP | + FPSection [ ';' DefMultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -7481,7 +7549,8 @@ static void FormalParameters (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfSto /* - MultiFPSection := ExtendedFP | FPSection [ ';' MultiFPSection ] + MultiFPSection := ExtendedFP | FPSection [ ';' + MultiFPSection ] first symbols:identtok, vartok, lsbratok, periodperiodperiodtok @@ -7513,7 +7582,8 @@ static void MultiFPSection (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - FPSection := NonVarFPSection | VarFPSection + FPSection := NonVarFPSection | + VarFPSection first symbols:vartok, identtok @@ -7692,8 +7762,9 @@ static void FormalType (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto /* - ModuleDeclaration := 'MODULE' Ident [ Priority ] ';' { Import } - [ Export ] Block Ident + ModuleDeclaration := 'MODULE' Ident [ Priority ] + ';' { Import } [ Export ] + Block Ident first symbols:moduletok @@ -7798,7 +7869,8 @@ static void FromIdentList (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - FromImport := 'FROM' Ident 'IMPORT' FromIdentList ';' + FromImport := 'FROM' Ident 'IMPORT' FromIdentList + ';' first symbols:fromtok @@ -7879,7 +7951,8 @@ static void Import (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset /* - DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' string ] + DefinitionModule := 'DEFINITION' 'MODULE' [ 'FOR' + string ] Ident ';' % curmodule := lookupDef (curident) % @@ -8084,7 +8157,8 @@ static void Enumeration (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - SimpleType := TypeEquiv | Enumeration | SubrangeType + SimpleType := TypeEquiv | Enumeration | + SubrangeType first symbols:lsbratok, lparatok, identtok @@ -8164,7 +8238,8 @@ static void Type (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 stopset2) /* - TypeDeclaration := { Ident ( ';' | '=' Type Alignment ';' ) } + TypeDeclaration := { Ident ( ';' | '=' Type Alignment + ';' ) } first symbols:identtok @@ -8261,7 +8336,8 @@ static void Definition (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 sto % VAR s: node ; % % s := pushStmt (makeComment ("asm")) % - 'ASM' [ 'VOLATILE' ] '(' AsmOperands ')' + 'ASM' [ 'VOLATILE' ] '(' AsmOperands + ')' first symbols:asmtok @@ -8303,7 +8379,8 @@ static void AsmOperands (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 st /* - AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] + AsmOperandSpec := [ ':' AsmList [ ':' AsmList [ + ':' TrashList ] ] ] first symbols:colontok @@ -8387,7 +8464,8 @@ static void AsmOperandName (SetOfStop0 stopset0, SetOfStop1 stopset1, SetOfStop2 /* - AsmElement := AsmOperandName string '(' Expression ')' + AsmElement := AsmOperandName string '(' Expression + ')' first symbols:stringtok, lsbratok diff --git a/gcc/m2/mc-boot/GnameKey.c b/gcc/m2/mc-boot/GnameKey.c index 64558e92441..81d2af92027 100644 --- a/gcc/m2/mc-boot/GnameKey.c +++ b/gcc/m2/mc-boot/GnameKey.c @@ -323,7 +323,7 @@ extern "C" nameKey_Name nameKey_makeKey (const char *a_, unsigned int _a_high) (*p) = ASCII_nul; return doMakeKey (n, higha); } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/nameKey.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/nameKey.def", 20, 1); __builtin_unreachable (); } @@ -373,7 +373,7 @@ extern "C" nameKey_Name nameKey_makekey (void * a) return doMakeKey (n, higha); } } - ReturnException ("/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/nameKey.def", 20, 1); + ReturnException ("../../gcc-git-devel-modula2/gcc/m2/mc/nameKey.def", 20, 1); __builtin_unreachable (); } diff --git a/gcc/m2/mc-boot/GsymbolKey.c b/gcc/m2/mc-boot/GsymbolKey.c index d6f335d3501..13f2d067b6d 100644 --- a/gcc/m2/mc-boot/GsymbolKey.c +++ b/gcc/m2/mc-boot/GsymbolKey.c @@ -142,7 +142,7 @@ static void findNodeAndParentInTree (symbolKey_symbolTree t, nameKey_Name n, sym (*father) = t; if (t == NULL) { - Debug_Halt ((const char *) "parameter t should never be NIL", 31, 203, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/symbolKey.mod", 74); + Debug_Halt ((const char *) "parameter t should never be NIL", 31, 203, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/symbolKey.mod", 51); } (*child) = t->left; if ((*child) != NULL) @@ -285,7 +285,7 @@ extern "C" void symbolKey_putSymKey (symbolKey_symbolTree t, nameKey_Name name, } else { - Debug_Halt ((const char *) "symbol already stored", 21, 119, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/symbolKey.mod", 74); + Debug_Halt ((const char *) "symbol already stored", 21, 119, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/symbolKey.mod", 51); } } @@ -352,7 +352,7 @@ extern "C" void symbolKey_delSymKey (symbolKey_symbolTree t, nameKey_Name name) } else { - Debug_Halt ((const char *) "trying to delete a symbol that is not in the tree - the compiler never expects this to occur", 92, 186, (const char *) "/home/gaius/GM2/graft-combine/gcc-git-devel-m2link/gcc/m2/mc/symbolKey.mod", 74); + Debug_Halt ((const char *) "trying to delete a symbol that is not in the tree - the compiler never expects this to occur", 92, 186, (const char *) "../../gcc-git-devel-modula2/gcc/m2/mc/symbolKey.mod", 51); } } diff --git a/gcc/m2/mc/decl.mod b/gcc/m2/mc/decl.mod index efc8ae9664e..b258cdd3a55 100644 --- a/gcc/m2/mc/decl.mod +++ b/gcc/m2/mc/decl.mod @@ -12702,9 +12702,40 @@ END tryCompleteFromPartial ; PROCEDURE visitIntrinsicFunction (v: alist; n: node; p: nodeProcedure) ; BEGIN assert (isIntrinsicFunction (n)) ; - WITH n^.unaryF DO - visitNode (v, arg, p) ; - visitNode (v, resultType, p) + CASE n^.kind OF + + val, + cmplx: WITH n^.binaryF DO + visitNode (v, left, p) ; + visitNode (v, right, p) ; + visitNode (v, resultType, p) + END | + adr, + size, + tsize, + float, + trunc, + ord, + chr, + cap, + abs, + high, + min, + max, + re, + im : WITH n^.unaryF DO + visitNode (v, arg, p) ; + visitNode (v, resultType, p) + END | + length: WITH n^.unaryF DO + visitNode (v, arg, p) ; + visitNode (v, resultType, p) + END | + throw: WITH n^.intrinsicF DO + visitNode (v, args, p) ; + visitNode (v, type, p) + END + END END visitIntrinsicFunction ;