online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#Emitted from framec_v0.11.7 class FrameEvent: def __init__(self, message, parameters): self._message = message self._parameters = parameters def main(): sys = EnterExitEvents() x = 0 while True: if not(x < 2): break sys.next() x = x + 1 class EnterExitEvents: # ==================== System Factory =================== # def __init__(self): # Create and initialize start state compartment. next_compartment = None next_compartment = EnterExitEventsCompartment('__enterexitevents_state_Begin', next_compartment) self.__compartment = next_compartment self.__next_compartment = None self.return_stack = [None] # Initialize domain # Send system start event frame_event = FrameEvent(">", None) self.__kernel(frame_event) # ==================== Interface Block ================== # def next(self,): self.return_stack.append(None) __e = FrameEvent("next",None) self.__kernel(__e) return self.return_stack.pop(-1) # ===================== Machine Block =================== # # ---------------------------------------- # $Begin def __enterexitevents_state_Begin(self, __e, compartment): if __e._message == "next": next_compartment = None next_compartment = EnterExitEventsCompartment('__enterexitevents_state_Working', next_compartment) self.__transition(next_compartment) return # ---------------------------------------- # $Working def __enterexitevents_state_Working(self, __e, compartment): if __e._message == ">": print("Enter $Working state") return elif __e._message == "<": print("Exit $Working state") return elif __e._message == "next": next_compartment = None next_compartment = EnterExitEventsCompartment('__enterexitevents_state_Begin', next_compartment) self.__transition(next_compartment) return # ==================== System Runtime =================== # def __kernel(self, __e): # send event to current state self.__router(__e) # loop until no transitions occur while self.__next_compartment != None: next_compartment = self.__next_compartment self.__next_compartment = None # exit current state self.__router(FrameEvent( "<", self.__compartment.exit_args)) # change state self.__compartment = next_compartment if next_compartment.forward_event is None: # send normal enter event self.__router(FrameEvent(">", self.__compartment.enter_args)) else: # there is a forwarded event if next_compartment.forward_event._message == ">": # forwarded event is enter event self.__router(next_compartment.forward_event) else: # forwarded event is not enter event # send normal enter event self.__router(FrameEvent(">", self.__compartment.enter_args)) # and now forward event to new, intialized state self.__router(next_compartment.forward_event) next_compartment.forward_event = None def __router(self, __e): if self.__compartment.state == '__enterexitevents_state_Begin': self.__enterexitevents_state_Begin(__e, self.__compartment) elif self.__compartment.state == '__enterexitevents_state_Working': self.__enterexitevents_state_Working(__e, self.__compartment) def __transition(self, next_compartment): self.__next_compartment = next_compartment # ===================== Compartment =================== # class EnterExitEventsCompartment: def __init__(self,state,parent_compartment): self.state = state self.state_args = {} self.state_vars = {} self.enter_args = {} self.exit_args = {} self.forward_event = None self.parent_compartment = parent_compartment if __name__ == '__main__': main()

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue