Skip to content

Instantly share code, notes, and snippets.

@MarkGoldberg
Created September 3, 2014 16:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MarkGoldberg/06ad08311c6f36430820 to your computer and use it in GitHub Desktop.
Save MarkGoldberg/06ad08311c6f36430820 to your computer and use it in GitHub Desktop.
PROGRAM
MAP
END
INCLUDE('debuger.inc'),ONCE
DBG Debuger
SourceQ QUEUE
A LONG
END
TargetQ QUEUE
SourceG GROUP(SourceQ).
END
G &GROUP
F ANY
CODE
DBG.MG_Init('GroupRef')
DO FillSourceQ
GET(SourceQ, 11) ; ASSERT(0,eqDBG&'GET(SourceQ,11) TargetQ.SourceG.A['& TargetQ.SourceG.A &'] SourceQ.A['& SourceQ.A &']')
TargetQ.SourceG :=: SourceQ ; ASSERT(0,eqDBG&'TargetQ.SourceG :=: SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &'] SourceQ.A['& SourceQ.A &']')
G &= TargetQ.SourceG ; ASSERT(0,eqDBG&'WHO(G,1)[' & WHO(G, 1) &'] =?= WHO(SourceQ,1)['& WHO(SourceQ,1) &']') !Shows 'A' which is correct
F &= WHAT(G, 1) ; ASSERT(0,eqDBG&'F is WHAT(G,1) F['& F & ']') !Shows 111, which is correct
ASSERT(0,eqDBG&'-{47}')
SourceQ.A = 222 ; ASSERT(0,eqDBG&'SourceQ.A = 222')
G :=: SourceQ ; ASSERT(0,eqDBG&'G :=: SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
G = SourceQ ; ASSERT(0,eqDBG&'G = SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
G :=: SourceQ ; ASSERT(0,eqDBG&'G :=: SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
ASSERT(0,eqDBG&'-{47}')
SourceQ.A = 333 ; ASSERT(0,eqDBG&'SourceQ.A = 333')
G = SourceQ ; ASSERT(0,eqDBG&'G = SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
G :=: SourceQ ; ASSERT(0,eqDBG&'G :=: SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
ASSERT(0,eqDBG&'-{47}')
SourceQ.A = 444 ;ADD(SourceQ) ; ASSERT(0,eqDBG&'SourceQ.A = 444; ADD(SourceQ)')
G :=: SourceQ ; ASSERT(0,eqDBG&'G :=: SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
G = SourceQ ; ASSERT(0,eqDBG&'G = SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
G :=: SourceQ ; ASSERT(0,eqDBG&'G :=: SourceQ TargetQ.SourceG.A['& TargetQ.SourceG.A &']')
FillSourceQ ROUTINE
LOOP 20 TIMES
SourceQ.A = 101 + RECORDS(SourceQ)
ADD(SourceQ)
END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment