You can subscribe to this list here.
2004 |
Jan
|
Feb
(126) |
Mar
(147) |
Apr
(72) |
May
(7) |
Jun
(8) |
Jul
(8) |
Aug
(73) |
Sep
(50) |
Oct
(79) |
Nov
(62) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(32) |
Feb
(48) |
Mar
(6) |
Apr
(7) |
May
(7) |
Jun
(1) |
Jul
(1) |
Aug
(11) |
Sep
(23) |
Oct
(12) |
Nov
(21) |
Dec
|
2006 |
Jan
(34) |
Feb
(3) |
Mar
(111) |
Apr
(82) |
May
(28) |
Jun
(2) |
Jul
(26) |
Aug
|
Sep
|
Oct
(13) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(17) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(13) |
2008 |
Jan
(35) |
Feb
(1) |
Mar
(13) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(4) |
Nov
(8) |
Dec
(1) |
2009 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2010 |
Jan
(14) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: <wd...@us...> - 2004-02-15 00:05:07
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30084 Modified Files: gvr.py Log Message: made gvr use his nice icon, converted to bmp Index: gvr.py =================================================================== RCS file: /cvsroot/gvr/GvR/gvr.py,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** gvr.py 14 Feb 2004 21:14:08 -0000 1.37 --- gvr.py 14 Feb 2004 23:58:12 -0000 1.38 *************** *** 86,90 **** # Set window icon myIcon = wxIcon("",0) ! myIcon.CopyFromBitmap(self.gvr_bitmaps["N"]) self.SetIcon(myIcon) --- 86,90 ---- # Set window icon myIcon = wxIcon("",0) ! myIcon.CopyFromBitmap(self.gvrIcon) self.SetIcon(myIcon) *************** *** 163,167 **** prepend = '' self.splash = wxBitmap(prepend + 'bitmaps/gvr-splash.bmp', wxBITMAP_TYPE_BMP) ! gvrup = wxBitmap(prepend + 'bitmaps/gvr-up.bmp', wxBITMAP_TYPE_BMP) gvright = wxBitmap(prepend + 'bitmaps/gvr-right.bmp', wxBITMAP_TYPE_BMP) --- 163,167 ---- prepend = '' self.splash = wxBitmap(prepend + 'bitmaps/gvr-splash.bmp', wxBITMAP_TYPE_BMP) ! self.gvrIcon = wxBitmap(prepend + 'bitmaps/gvrIcon.bmp', wxBITMAP_TYPE_BMP) gvrup = wxBitmap(prepend + 'bitmaps/gvr-up.bmp', wxBITMAP_TYPE_BMP) gvright = wxBitmap(prepend + 'bitmaps/gvr-right.bmp', wxBITMAP_TYPE_BMP) |
From: <wd...@us...> - 2004-02-15 00:05:06
|
Update of /cvsroot/gvr/GvR/bitmaps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30084/bitmaps Added Files: gvrIcon.bmp Log Message: made gvr use his nice icon, converted to bmp --- NEW FILE: gvrIcon.bmp --- (This appears to be a binary file; contents omitted.) |
From: <sho...@us...> - 2004-02-14 23:59:16
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29060 Modified Files: cheat.py Log Message: breakpoint support, smaller squares in cheat.gvr Index: cheat.py =================================================================== RCS file: /cvsroot/gvr/GvR/cheat.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** cheat.py 14 Feb 2004 21:14:08 -0000 1.2 --- cheat.py 14 Feb 2004 23:52:25 -0000 1.3 *************** *** 1,6 **** --- 1,9 ---- + from wxPython.wx import * class Cheat: def __call__(self, command, robot): if command == 'makebeeper': robot.world.robotBeepers += 1 + elif command == 'breakpoint': + wxMessageBox(robot.callstack.traceBack()) elif command in robot.gui.SleepDict.keys(): robot.gui.setSpeed(command) |
From: <sho...@us...> - 2004-02-14 23:59:16
|
Update of /cvsroot/gvr/GvR/programs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29060/programs Modified Files: cheat.gvr Log Message: breakpoint support, smaller squares in cheat.gvr Index: cheat.gvr =================================================================== RCS file: /cvsroot/gvr/GvR/programs/cheat.gvr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cheat.gvr 14 Feb 2004 21:36:18 -0000 1.1 --- cheat.gvr 14 Feb 2004 23:52:25 -0000 1.2 *************** *** 23,30 **** define layColumn: ! do 5: layBeeper turnaround ! do 5: move turnaround --- 23,30 ---- define layColumn: ! do 3: layBeeper turnaround ! do 3: move turnaround *************** *** 32,38 **** define makeSquare: ! do 5: layColumn shuffle_right cheat Fast --- 32,39 ---- define makeSquare: ! do 3: layColumn shuffle_right + cheat breakpoint cheat Fast |
From: <sho...@us...> - 2004-02-14 23:51:31
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27895 Modified Files: robot.py Log Message: give a traceback on errors Index: robot.py =================================================================== RCS file: /cvsroot/gvr/GvR/robot.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** robot.py 14 Feb 2004 23:15:35 -0000 1.11 --- robot.py 14 Feb 2004 23:44:40 -0000 1.12 *************** *** 20,23 **** --- 20,24 ---- #import sound import cheat + import callstack class TurnedOffException: *************** *** 108,115 **** def abort(self, msg): ! self.gui.debug(msg) raise ErrorShutoffException def _run_simulation(self): try: self.execute() --- 109,117 ---- def abort(self, msg): ! self.gui.debug(msg+'\n'+self.callstack.traceBack()) raise ErrorShutoffException def _run_simulation(self): + self.callstack = callstack.CallStack() try: self.execute() *************** *** 124,127 **** self.AbortFlag = 1 ! def _enter(self, method, line): pass ! def _exit(self): pass --- 126,129 ---- self.AbortFlag = 1 ! def _enter(self, method, line): self.callstack.enter(method, line+1) ! def _exit(self): self.callstack.exit() |
From: <sho...@us...> - 2004-02-14 23:37:36
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25835 Added Files: TESTcallstack.py callstack.py Log Message: simple callstack class w/tests --- NEW FILE: TESTcallstack.py --- from callstack import * from TEST import assertEquals stack = CallStack() assertEquals('', stack.traceBack()) stack.enter('foo', 1) assertEquals('foo 1\n', stack.traceBack()) stack.enter('bar', 7) assertEquals('''\ foo 1 bar 7 ''', stack.traceBack()) stack.exit() assertEquals('foo 1\n', stack.traceBack()) stack.exit() assertEquals('', stack.traceBack()) --- NEW FILE: callstack.py --- class CallStack: def __init__(self): self.stack = [] def enter(self, method, line): self.stack.append((method, line)) def exit(self): self.stack.pop() def traceBack(self): return ''.join([ '%s %d\n' % (method, line) for method, line in self.stack]) |
From: <sho...@us...> - 2004-02-14 23:22:28
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23025 Modified Files: TESTgvrparser.py gvrparser.py robot.py Log Message: Parser creates _enter and _exit methods, which will allow us to keep track of the call stack soon. Index: TESTgvrparser.py =================================================================== RCS file: /cvsroot/gvr/GvR/TESTgvrparser.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TESTgvrparser.py 14 Feb 2004 16:20:17 -0000 1.2 --- TESTgvrparser.py 14 Feb 2004 23:15:35 -0000 1.3 *************** *** 256,262 **** --- 256,264 ---- ''' def turnright(self, line): + self._enter('turnright', line) self.TURNLEFT(1) self.TURNLEFT(2) self.TURNLEFT(3) + self._exit() ''') *************** *** 273,279 **** --- 275,283 ---- class MyRobot(Robot): def findOpening(self, line): + self._enter('findOpening', line) while self.FRONT_IS_BLOCKED(1): self.TURNLEFT(2) self.MOVE(3) + self._exit() def execute(self): self.findOpening(4) *************** *** 298,307 **** --- 302,315 ---- class MyRobot(Robot): def findOpening(self, line): + self._enter('findOpening', line) while self.FRONT_IS_BLOCKED(1): self.TURNLEFT(2) self.MOVE(3) + self._exit() def moveSome(self, line): + self._enter('moveSome', line) for i in range(30): self.MOVE(6) + self._exit() def execute(self): self.findOpening(7) Index: gvrparser.py =================================================================== RCS file: /cvsroot/gvr/GvR/gvrparser.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** gvrparser.py 14 Feb 2004 19:30:40 -0000 1.11 --- gvrparser.py 14 Feb 2004 23:15:35 -0000 1.12 *************** *** 292,298 **** def build(self): ! return "%sdef %s(self, line):\n%s" % (self.indent, ! self.name, ! self.block.build()) class Program: --- 292,303 ---- def build(self): ! return '''\ ! %sdef %s(self, line): ! %s self._enter('%s', line) ! %s%s self._exit() ! ''' % ( ! self.indent, self.name, ! self.indent, self.name, ! self.block.build(), self.indent) class Program: Index: robot.py =================================================================== RCS file: /cvsroot/gvr/GvR/robot.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** robot.py 14 Feb 2004 21:14:08 -0000 1.10 --- robot.py 14 Feb 2004 23:15:35 -0000 1.11 *************** *** 123,124 **** --- 123,127 ---- def Abort(self): self.AbortFlag = 1 + + def _enter(self, method, line): pass + def _exit(self): pass |
From: <sho...@us...> - 2004-02-14 21:43:05
|
Update of /cvsroot/gvr/GvR/programs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5373/programs Added Files: cheat.gvr Log Message: example program shows common cheats --- NEW FILE: cheat.gvr --- # This program uses the "cheat" command, which allows # the student to use GvR extension commands like Slow, # Medium, Fast, and makebeeper. The best way to learn # what the cheats do is to try them out in boring.wld. # define layBeeper: move cheat makebeeper # just in case our bag is empty putbeeper define turnright: do 3: turnleft define shuffle_right: turnright move turnleft define turnaround: turnleft turnleft define layColumn: do 5: layBeeper turnaround do 5: move turnaround shuffle_right define makeSquare: do 5: layColumn shuffle_right cheat Fast makeSquare cheat Medium makeSquare cheat Slow makeSquare |
From: <sho...@us...> - 2004-02-14 21:20:54
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1516 Modified Files: cheat.py gvr.py robot.py Log Message: Cleaned up speed code. No longer pass speed from gui to robot right back to gui again. Also made cheats for "Slow," "Medium," and "Fast" Index: cheat.py =================================================================== RCS file: /cvsroot/gvr/GvR/cheat.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cheat.py 14 Feb 2004 20:44:29 -0000 1.1 --- cheat.py 14 Feb 2004 21:14:08 -0000 1.2 *************** *** 3,6 **** --- 3,8 ---- if command == 'makebeeper': robot.world.robotBeepers += 1 + elif command in robot.gui.SleepDict.keys(): + robot.gui.setSpeed(command) else: print 'unrecognized cheat', command Index: gvr.py =================================================================== RCS file: /cvsroot/gvr/GvR/gvr.py,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** gvr.py 13 Feb 2004 13:47:56 -0000 1.36 --- gvr.py 14 Feb 2004 21:14:08 -0000 1.37 *************** *** 93,97 **** self.SleepDict = {_('Fast'):.05, _('Medium'):.15, _('Slow'):.5} self.sleepHighlight = 1 ! self.SleepTime = self.SleepDict[_('Medium')] file = wxMenu() --- 93,97 ---- self.SleepDict = {_('Fast'):.05, _('Medium'):.15, _('Slow'):.5} self.sleepHighlight = 1 ! self.setSpeed(_('Medium')) file = wxMenu() *************** *** 281,285 **** self.executeButton.Enable(0) self.abortButton.Enable(1) ! self.myRobot._run_simulation(self.SleepTime) self.executeButton.Enable(1) self.abortButton.Enable(0) --- 281,285 ---- self.executeButton.Enable(0) self.abortButton.Enable(1) ! self.myRobot._run_simulation() self.executeButton.Enable(1) self.abortButton.Enable(0) *************** *** 293,297 **** if dlg.ShowModal() == wxID_OK: try: ! self.SleepTime = float(self.SleepDict[dlg.GetStringSelection()]) self.sleepHighlight = dlg.GetSelection() except: --- 293,297 ---- if dlg.ShowModal() == wxID_OK: try: ! self.setSpeed(dlg.GetStringSelection()) self.sleepHighlight = dlg.GetSelection() except: *************** *** 300,303 **** --- 300,306 ---- else: dlg.Destroy() + def setSpeed(self, speed): + self.SleepTime = self.SleepDict[speed] + ##### MANAGING WINDOWS FOR CODE AND WORLDS *************** *** 429,433 **** # These methods are more or less in top-down order. ! def RefreshAndSleep(self, sleepsecs): if os.name != 'nt': self.RefreshRect(self.robotRect()) --- 432,436 ---- # These methods are more or less in top-down order. ! def RefreshAndSleep(self): if os.name != 'nt': self.RefreshRect(self.robotRect()) *************** *** 436,440 **** self.Refresh() wxYield() ! wxUsleep(int(sleepsecs*1000)) def breathe(self): --- 439,443 ---- self.Refresh() wxYield() ! wxUsleep(int(self.SleepTime*1000)) def breathe(self): Index: robot.py =================================================================== RCS file: /cvsroot/gvr/GvR/robot.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** robot.py 14 Feb 2004 20:44:30 -0000 1.9 --- robot.py 14 Feb 2004 21:14:08 -0000 1.10 *************** *** 105,109 **** self.checkAbort() self.gui.highlightLine(line) ! self.gui.RefreshAndSleep(self.SleepTime) def abort(self, msg): --- 105,109 ---- self.checkAbort() self.gui.highlightLine(line) ! self.gui.RefreshAndSleep() def abort(self, msg): *************** *** 111,117 **** raise ErrorShutoffException ! def _run_simulation(self, sleeptime): ! self.SleepTime = sleeptime ! try: self.execute() --- 111,115 ---- raise ErrorShutoffException ! def _run_simulation(self): try: self.execute() |
From: <sho...@us...> - 2004-02-14 20:51:15
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27498 Modified Files: robot.py Added Files: cheat.py Log Message: allow backdoor for cheats; first one is a makebeeper cheat --- NEW FILE: cheat.py --- class Cheat: def __call__(self, command, robot): if command == 'makebeeper': robot.world.robotBeepers += 1 else: print 'unrecognized cheat', command Index: robot.py =================================================================== RCS file: /cvsroot/gvr/GvR/robot.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** robot.py 14 Feb 2004 19:26:09 -0000 1.8 --- robot.py 14 Feb 2004 20:44:30 -0000 1.9 *************** *** 19,22 **** --- 19,24 ---- import gvrparser #import sound + import cheat + class TurnedOffException: pass *************** *** 35,38 **** --- 37,41 ---- class Robot: def __init__(self, gui, logicalWorld): + self.myCheat = cheat.Cheat() self.world = logicalWorld ##self.sounds = {} *************** *** 87,90 **** --- 90,97 ---- self._update(line) + def cheat(self, command, line): + self.myCheat(command, self) + self._update(line) + def breathe(self): self.gui.breathe() |
From: <chi...@us...> - 2004-02-14 20:38:32
|
Update of /cvsroot/gvr/GvR/locale/fr/LC_MESSAGES In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24537/locale/fr/LC_MESSAGES Added Files: gvr.mo Log Message: Added french language support (UTF-8) --- NEW FILE: gvr.mo --- (This appears to be a binary file; contents omitted.) |
From: <chi...@us...> - 2004-02-14 20:38:32
|
Update of /cvsroot/gvr/GvR/po/fr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24537/po/fr Added Files: gvr.po Log Message: Added french language support (UTF-8) --- NEW FILE: gvr.po --- # translation of gvrnew2.po to # translation of gvrparser.po to # Copyright (C) YEAR ORGANIZATION. # Jean-Philippe Ayanides <jp....@fr...>, 2004. # msgid "" msgstr "" "Project-Id-Version: gvrnew2\n" "POT-Creation-Date: Mon Feb 9 14:39:09 2004\n" "PO-Revision-Date: 2004-02-14 20:30GMT\n" "Last-Translator: Jean-Philippe Ayanides <jp....@fr...>\n" "Language-Team: <fr...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" "X-Generator: KBabel 1.0.2\n" #: gvr.py:118 gvr.py:120 gvr.py:315 msgid "Medium" msgstr "Moyen" #: gvr.py:118 gvr.py:315 msgid "Fast" msgstr "Rapide" #: gvr.py:118 gvr.py:315 msgid "Slow" msgstr "Lent" #: gvr.py:127 msgid "Create a new blank world" msgstr "Créer un nouveau monde vierge" #: gvr.py:127 msgid "New World" msgstr "Nouveau monde" #: gvr.py:128 msgid "Open World..." msgstr "Ouvrir un monde" #: gvr.py:128 msgid "Open a world for Guido to explore" msgstr "Ouvrir un monde à explorer pour Guido" #: gvr.py:129 msgid "Create a new blank program" msgstr "Créer un nouveau programme vierge" #: gvr.py:129 msgid "New Program" msgstr "Nouveau programme" #: gvr.py:130 msgid "Open Program..." msgstr "Ouvrir un programme" #: gvr.py:130 msgid "Open a Guido program" msgstr "Ouvrir un programme pour Guido" #: gvr.py:132 msgid "E&xit" msgstr "&Quitter" #: gvr.py:132 msgid "Terminate the program" msgstr "Terminer le programme" #: gvr.py:134 msgid "&Program Window" msgstr "Fenêtre &programme" #: gvr.py:134 msgid "Show/Hide the Program Window" msgstr "Montrer/cacher la fenêtre du programme" #: gvr.py:135 msgid "&World Window" msgstr "Fenêtre &monde" #: gvr.py:135 msgid "Show/Hide the World Window" msgstr "Montrer/cacher la fenêtre du monde" #: gvr.py:139 msgid "Change the time Guido pauses between moves" msgstr "Modifier le temps de pause de Guido entre les mouvements" #: gvr.py:139 msgid "Set S&peed..." msgstr "Configurer la &vitesse" #: gvr.py:141 msgid "&About" msgstr "à &propos" #: gvr.py:141 msgid "About this program" msgstr "à propos de ce programme" #: gvr.py:144 gvr.py:747 msgid "&File" msgstr "&Fichier" #: gvr.py:145 msgid "&Window" msgstr "Fe&nêtre" #: gvr.py:146 msgid "&Setup" msgstr "&Configuration" #: gvr.py:147 msgid "&Help" msgstr "&Aide" #: gvr.py:207 gvr.py:208 msgid "Execute" msgstr "Exécuter" #: gvr.py:209 gvr.py:210 msgid "Abort" msgstr "Annuler" #: gvr.py:212 msgid "Reload" msgstr "Recharger" #: gvr.py:213 msgid "Reload World" msgstr "Recharger le monde" #: gvr.py:243 msgid "Start Guido van Robot" msgstr "Démarrer Guido le Robot" #: gvr.py:245 msgid "Stop Guido van Robot" msgstr "Stopper Guido le Robot" #: gvr.py:247 msgid "See changes to world" msgstr "Voir les modifications au monde" #: gvr.py:257 msgid "Please load a world and program before executing." msgstr "S'il vous plait, chargez un monde et un programme avant d'exécuter." #: gvr.py:268 msgid "It looks like there was a problem reading" msgstr "On dirait qu'il y a un problème de lecture" #: gvr.py:281 msgid "File to save compiled Python code to" msgstr "Fichier dans lequel enregistrer le code Python compilé" #: gvr.py:295 msgid "Compiled Python code saved to " msgstr "Le code Python compilé a été enregistré dans" #: gvr.py:297 msgid "Could not write " msgstr "Impossible d'écrire " #: gvr.py:315 msgid "Robot Speed" msgstr "Vitesse du robot" #: gvr.py:315 msgid "Set Robot Speed" msgstr "Configurer la vitesse du robot" #: gvr.py:322 msgid "Invalid input" msgstr "Entrée invalide" #: gvr.py:362 gvr.py:407 msgid "" "Can't save file to chosen location, make sure you aren't trying to save in " "the examples directory." msgstr "" "Impossible d'enregistrer à l'emplacement choisi ; assurez-vous que vous " "n'essayez pas d'enregistrer dans le répertoire des exemples." #: gvr.py:366 msgid "New" msgstr "Nouveau" #: gvr.py:366 msgid "There is already a %s open, would you like to save it before clearing it?" msgstr "" "Il y a déjà un fichier %s ouvert. Voulez-vous l'enregistrer avant de " "continuer ?" #: gvr.py:380 msgid "Choose a program to open" msgstr "Sélectionner un programme à ouvrir" #: gvr.py:410 msgid "Choose a filename for your program" msgstr "Choisir un nom de fichier pour votre programme" #: gvr.py:423 msgid "Choose a world to open" msgstr "Sélectionnerr un monde à ouvrir" #: gvr.py:439 msgid "" "There was an error in the world file, it was saved but did not reload the " "world" msgstr "" "Il y avait une erreur dans le fichier du monde ; il a été enregistré mais le " "monde n'a pas été rechargé" #: gvr.py:443 msgid "Choose a filename for your world" msgstr "Choisir un nom de fichier pour votre monde" #: gvr.py:488 msgid "Robot has %d beepers" msgstr "Le robot possède %d balises" #: gvr.py:667 msgid "No world file loaded to reload" msgstr "Pas de fichier de monde chargé à recharger" #: gvr.py:679 msgid "The world file, %s, is not readable." msgstr "Le fichier du monde, %s, n'est pas lisible" #: gvr.py:697 msgid "Modified " msgstr "Modifié " #: gvr.py:697 msgid "The %s has been modified. Would you like to save it before exiting?" msgstr "%s a été modifié. Voulez-vous l'enregistrer avant de quitter ?" #: gvr.py:765 msgid "&Open World for Editing..." msgstr "&Ouvrir le monde pour l'éditer" #: gvr.py:765 msgid "Open a world and edit it" msgstr "Ouvrir un monde et l'éditer" #: gvr.py:766 msgid "&Save World" msgstr "&Enregistre le monde" #: gvr.py:766 msgid "Save the world you are currently editing" msgstr "Enregistre le monde que vous êtes en train d'éditer" #: gvr.py:767 msgid "&Save World As..." msgstr "Enregistrer le monde &sous" #: gvr.py:767 msgid "Save the world you are currently editing under another file name" msgstr "Enregistrer le monde que vous êtes en train d'éditer sous un autre nom" #: gvr.py:769 msgid "Close World Window" msgstr "Fermer la fenêtre du monde" #: gvr.py:769 msgid "Hides the World Window" msgstr "Cacher la fenêtre du monde" #: gvr.py:793 msgid "&Open Program for Editing..." msgstr "&Ouvrir un programme pour l'éditer" #: gvr.py:793 msgid "Open a program and edit it" msgstr "Ouvrir un programme et l'éditer" #: gvr.py:794 msgid "&Save Program" msgstr "&Enregistrer un programme" #: gvr.py:794 msgid "Save the program you are currently editing" msgstr "Enregistrer le programme que vous êtes en train d'éditer" #: gvr.py:795 msgid "&Save Program As..." msgstr "&Enregistrer le programme sous..." #: gvr.py:795 msgid "Save the program you are currently editing to a specific file name" msgstr "" "Enregistrer le programme que vous êtes en train d'éditer sous un nom de " "fichier spécifique" #: gvr.py:796 msgid "&Compile to Python..." msgstr "&Compiler en Python" #: gvr.py:796 msgid "Execute the program and output the Python code to file" msgstr "Exécuter le programme et exporter le code Python dans un fichier" #: gvr.py:798 msgid "Close Program Window" msgstr "Fermer la fenêtre du programme" #: gvr.py:798 msgid "Hides the Program Window" msgstr "Cacher la fenêtre du programme" #: gvr.py:827 msgid "Would you like to create default directories for your worlds and programs? " msgstr "" "Voulez-vous créer le répertoire par défaut pour vos mondes et vos " "programmes ?" #: gvrparser.py:94 msgid "any_beepers_in_beeper_bag" msgstr "au_moins_une_balise_dans_le_sac" #: gvrparser.py:95 msgid "facing_north" msgstr "face_au_nord" #: gvrparser.py:96 msgid "facing_east" msgstr "face_à _l_est" #: gvrparser.py:97 msgid "facing_south" msgstr "face_au_sud" #: gvrparser.py:98 msgid "facing_west" msgstr "face_à _l_ouest" #: gvrparser.py:99 msgid "front_is_blocked" msgstr "voie_frontale_bloquée" #: gvrparser.py:100 msgid "front_is_clear" msgstr "voie_frontale_libre" #: gvrparser.py:101 msgid "no_beepers_in_beeper_bag" msgstr "plus_de_balise_dans_le_sac" #: gvrparser.py:102 msgid "next_to_a_beeper" msgstr "proche_d_une_balise" #: gvrparser.py:103 msgid "not_next_to_a_beeper" msgstr "pas_proche_d_une_balise" #: gvrparser.py:104 msgid "not_facing_north" msgstr "pas_face_au_nord" #: gvrparser.py:105 msgid "not_facing_east" msgstr "pas_face_à _l_est" #: gvrparser.py:106 msgid "not_facing_south" msgstr "pas_face_au_sud" #: gvrparser.py:107 msgid "not_facing_west" msgstr "pas_face_à _l_ouest" #: gvrparser.py:108 msgid "left_is_blocked" msgstr "voie_gauche_bloquée" #: gvrparser.py:109 msgid "left_is_clear" msgstr "voie_gauche_libre" #: gvrparser.py:110 msgid "right_is_blocked" msgstr "voie_droite_bloquée" #: gvrparser.py:111 msgid "right_is_clear" msgstr "voie_droite_libre" #: gvrparser.py:115 msgid "move" msgstr "bouge" #: gvrparser.py:116 msgid "pickbeeper" msgstr "récupère_une_balise" #: gvrparser.py:117 msgid "putbeeper" msgstr "place_une_balise" #: gvrparser.py:118 msgid "turnleft" msgstr "tourne_à _gauche" #: gvrparser.py:119 msgid "turnoff" msgstr "éteindre" #: gvrparser.py:127 msgid "define" msgstr "fonction" #: gvrparser.py:128 gvrparser.py:134 msgid "end" msgstr "fin" #: gvrparser.py:129 msgid "if" msgstr "si" #: gvrparser.py:130 msgid "elif" msgstr "sinon_si" #: gvrparser.py:131 msgid "else" msgstr "sinon" #: gvrparser.py:132 msgid "while" msgstr "tant_que" #: gvrparser.py:133 msgid "do" msgstr "faire" #: world.py:36 msgid "N" msgstr "N" #: world.py:37 msgid "W" msgstr "O" #: world.py:38 msgid "S" msgstr "S" #: world.py:39 msgid "E" msgstr "E" #: world.py:136 msgid "%s is not a valid direction -- use N, S, E, or W" msgstr "%s n'est pas une direction valide - Choisissez N, S, E, ou O" #: world.py:150 msgid "Bad x value for positioning robot: %s" msgstr "Mauvaise abscisse pour positionner le robot %s" #: world.py:152 msgid "Bad y value for positioning robot: %s" msgstr "Mauvaise ordonnée pour positionner le robot %s" #: world.py:272 msgid "Turning off robot" msgstr "faire tourner le robot" #: world.py:275 msgid "robot hit a wall" msgstr "le robot touche un mur" #: world.py:278 msgid "no beepers to put" msgstr "plus de balises à placer" #: world.py:281 msgid "no beepers to pick" msgstr "plus de balises à ramasser" #: worldMap.py:19 msgid "WALL" msgstr "MUR" #: worldMap.py:21 worldMap.py:27 msgid "" "In line %s:\n" "%s is not a valid direction -- use N, S, E, or W" msgstr "" "Dans la ligne %s:\n" "%s n'est pas une direction valide -- utilisez N, S, E, or O" #: worldMap.py:24 msgid "ROBOT" msgstr "ROBOT" #: worldMap.py:31 msgid "BEEPERS" msgstr "BALISES" #: worldMap.py:34 msgid "Cannot understand: %s" msgstr "Ne peut comprendre %s" #: worldMap.py:36 msgid "The world map seems to be missing information." msgstr "Une information semble manquer sur la carte du monde." |
From: <chi...@us...> - 2004-02-14 20:35:47
|
Update of /cvsroot/gvr/GvR/locale/fr/LC_MESSAGES In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24162/locale/fr/LC_MESSAGES Log Message: Directory /cvsroot/gvr/GvR/locale/fr/LC_MESSAGES added to the repository |
From: <chi...@us...> - 2004-02-14 20:34:40
|
Update of /cvsroot/gvr/GvR/locale/fr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23958/locale/fr Log Message: Directory /cvsroot/gvr/GvR/locale/fr added to the repository |
From: <chi...@us...> - 2004-02-14 20:34:40
|
Update of /cvsroot/gvr/GvR/po/fr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23958/po/fr Log Message: Directory /cvsroot/gvr/GvR/po/fr added to the repository |
From: <sho...@us...> - 2004-02-14 20:13:55
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20759 Modified Files: worldMap.py Log Message: debugging turned off Index: worldMap.py =================================================================== RCS file: /cvsroot/gvr/GvR/worldMap.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** worldMap.py 8 Feb 2004 11:27:41 -0000 1.2 --- worldMap.py 14 Feb 2004 20:07:12 -0000 1.3 *************** *** 8,12 **** DIRECTIONS = (NORTH,SOUTH,EAST,WEST) import string, re ! _DEBUG=1 def readWorld(lines, world): --- 8,12 ---- DIRECTIONS = (NORTH,SOUTH,EAST,WEST) import string, re ! _DEBUG=0 def readWorld(lines, world): |
From: <chi...@us...> - 2004-02-14 19:37:30
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13861 Modified Files: gvrparser.py Log Message: minor comment removal Index: gvrparser.py =================================================================== RCS file: /cvsroot/gvr/GvR/gvrparser.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** gvrparser.py 14 Feb 2004 19:26:09 -0000 1.10 --- gvrparser.py 14 Feb 2004 19:30:40 -0000 1.11 *************** *** 163,167 **** while token < len(tokens): curStatement = tokens[token]['statement'] - ############# TODO I18N stuff ############ statements = { 'if': IfStatement, --- 163,166 ---- |
From: <chi...@us...> - 2004-02-14 19:33:09
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12865 Modified Files: gvrparser.py robot.py Log Message: disable sound stuff in robot.py, removed an old TODO comment in gvr.py Index: gvrparser.py =================================================================== RCS file: /cvsroot/gvr/GvR/gvrparser.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** gvrparser.py 14 Feb 2004 16:20:17 -0000 1.9 --- gvrparser.py 14 Feb 2004 19:26:09 -0000 1.10 *************** *** 129,135 **** lookup_dict[k] = v - #TODO - # See class Block - # The staements are hardcoded in english :-( BIG TODO ################################## End of I18N ############################ --- 129,132 ---- Index: robot.py =================================================================== RCS file: /cvsroot/gvr/GvR/robot.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** robot.py 14 Feb 2004 18:09:59 -0000 1.7 --- robot.py 14 Feb 2004 19:26:09 -0000 1.8 *************** *** 1,4 **** import gvrparser ! import sound class TurnedOffException: pass --- 1,22 ---- + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU Library General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + ## The sound stuff is disabled. This is done to provide a basis for a stable + ## release, but please LEAVE the commented sound stuff in here, it's NOT + ## dead code + import gvrparser ! #import sound class TurnedOffException: pass *************** *** 18,29 **** def __init__(self, gui, logicalWorld): self.world = logicalWorld ! self.sounds = {} ! self.sounds['putbeeper'], self.sounds['pickbeeper'] = \ ! sound.load_sounds('put.wav','pick.wav') self.gui = gui for cond in [test.upper() for test in gvrparser.TESTS]: exec 'self.%s = ConditionalBreather(self, self.world.%s)' % (cond, cond) ! def makeBeeperSound(self, kind): sound.threadplay(self.sounds[kind]) def TURNOFF(self, line): --- 36,49 ---- def __init__(self, gui, logicalWorld): self.world = logicalWorld ! ##self.sounds = {} ! ##self.sounds['putbeeper'], self.sounds['pickbeeper'] = \ ! ## sound.load_sounds('put.wav','pick.wav') self.gui = gui for cond in [test.upper() for test in gvrparser.TESTS]: exec 'self.%s = ConditionalBreather(self, self.world.%s)' % (cond, cond) ! def makeBeeperSound(self, kind): ! pass ! ##sound.threadplay(self.sounds[kind]) def TURNOFF(self, line): *************** *** 98,100 **** def Abort(self): self.AbortFlag = 1 - --- 118,119 ---- |
From: <sho...@us...> - 2004-02-14 18:46:12
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3880 Modified Files: TESTworld.py world.py Log Message: let worldMap check for valid direction, no need to rename exception in world.py Index: TESTworld.py =================================================================== RCS file: /cvsroot/gvr/GvR/TESTworld.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TESTworld.py 14 Feb 2004 18:09:59 -0000 1.2 --- TESTworld.py 14 Feb 2004 18:39:30 -0000 1.3 *************** *** 23,36 **** assertEquals(1, myWorld.FRONT_IS_BLOCKED()) - "fail nicely for bad dir, due to legacy issues" - bad_dir = 1 - msg = 'bla' - try: - myWorld.setWall(3, 3, bad_dir) - except Exception, e: - msg = str(e) - - assertEquals("1 is not a valid direction -- use N, S, E, or W",msg) - try: myWorld._positionRobot(-3, 3, world.NORTH) --- 23,26 ---- Index: world.py =================================================================== RCS file: /cvsroot/gvr/GvR/world.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** world.py 14 Feb 2004 18:09:59 -0000 1.16 --- world.py 14 Feb 2004 18:39:30 -0000 1.17 *************** *** 84,92 **** def setSingleWall(self, coords, dir): ! try: ! coords = self._adjust(coords, World.wall[dir]) ! self.walls[World.direction[dir]][coords] = 1 ! except KeyError,info: ! raise Exception(_("%s is not a valid direction -- use N, S, E, or W") % dir) #----- beepers --- 84,89 ---- def setSingleWall(self, coords, dir): ! coords = self._adjust(coords, World.wall[dir]) ! self.walls[World.direction[dir]][coords] = 1 #----- beepers |
From: <sho...@us...> - 2004-02-14 18:16:40
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30408 Modified Files: TESTworld.py robot.py world.py Log Message: robot.py checks for wall now, does not use exceptions Index: TESTworld.py =================================================================== RCS file: /cvsroot/gvr/GvR/TESTworld.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** TESTworld.py 15 Jul 2003 22:38:02 -0000 1.1.1.1 --- TESTworld.py 14 Feb 2004 18:09:59 -0000 1.2 *************** *** 81,84 **** --- 81,85 ---- myWorld.setWall('3', 3, world.NORTH) assertEquals(1, myWorld.FRONT_IS_BLOCKED()) + assertEquals(0, myWorld.MOVE()) myWorld.setWall('3', '3', 'N', '5') Index: robot.py =================================================================== RCS file: /cvsroot/gvr/GvR/robot.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** robot.py 14 Feb 2004 17:05:18 -0000 1.6 --- robot.py 14 Feb 2004 18:09:59 -0000 1.7 *************** *** 42,47 **** def MOVE(self, line): ! self.gui.redrawSquare() ! self.world.MOVE() self._update(line) --- 42,50 ---- def MOVE(self, line): ! if self.world.FRONT_IS_BLOCKED(): ! self._slam_into_wall() ! else: ! self.gui.redrawSquare() ! self.world.MOVE() self._update(line) Index: world.py =================================================================== RCS file: /cvsroot/gvr/GvR/world.py,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** world.py 14 Feb 2004 17:07:16 -0000 1.15 --- world.py 14 Feb 2004 18:09:59 -0000 1.16 *************** *** 111,119 **** def MOVE(self): self.robotMoved = 1 ! if World.FRONT_IS_BLOCKED(self): ! self._slam_into_wall() ! else: ! self.robot = self._adjust(self.robot, World.delta[self.dir]) def TURNLEFT(self): --- 111,118 ---- def MOVE(self): + if self.FRONT_IS_BLOCKED(): return 0 self.robotMoved = 1 ! self.robot = self._adjust(self.robot, World.delta[self.dir]) ! return 1 def TURNLEFT(self): *************** *** 207,214 **** return not World.NEXT_TO_A_BEEPER(self) - #---- The fun is over. - - def _slam_into_wall(self): - raise _("robot hit a wall") --- 206,209 ---- |
From: <sho...@us...> - 2004-02-14 17:13:54
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17463 Modified Files: world.py Log Message: no need for turnoff in world Index: world.py =================================================================== RCS file: /cvsroot/gvr/GvR/world.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** world.py 14 Feb 2004 17:05:18 -0000 1.14 --- world.py 14 Feb 2004 17:07:16 -0000 1.15 *************** *** 209,215 **** #---- The fun is over. - def TURNOFF(self): - raise _("Turning off robot") - def _slam_into_wall(self): raise _("robot hit a wall") --- 209,212 ---- |
From: <sho...@us...> - 2004-02-14 17:11:56
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16963 Modified Files: TESTbeeper.py robot.py world.py Log Message: use return codes, not exceptions, for beeper commands Index: TESTbeeper.py =================================================================== RCS file: /cvsroot/gvr/GvR/TESTbeeper.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** TESTbeeper.py 15 Jul 2003 22:38:01 -0000 1.1.1.1 --- TESTbeeper.py 14 Feb 2004 17:05:18 -0000 1.2 *************** *** 23,35 **** assertEquals(1, myWorld.NOT_NEXT_TO_A_BEEPER()) ! ! try: ! myWorld.PICKBEEPER() ! exc_raised = 0 ! except: ! exc_raised = 1 ! ! assertEquals(1, exc_raised) ! myWorld._positionRobot(2, 2, world.NORTH) --- 23,27 ---- assertEquals(1, myWorld.NOT_NEXT_TO_A_BEEPER()) ! assertEquals(0, myWorld.PICKBEEPER()) myWorld._positionRobot(2, 2, world.NORTH) *************** *** 46,57 **** newWorld.PUTBEEPER() newWorld.PICKBEEPER() ! try: ! newWorld.PICKBEEPER() ! exc_raised = 0 ! except: ! exc_raised = 1 ! ! assertEquals(1, exc_raised, "Jeff's test") ! newWorld.setBeepers(8, 9, 1) newWorld._positionRobot(8, 9, world.NORTH) --- 38,42 ---- newWorld.PUTBEEPER() newWorld.PICKBEEPER() ! assertEquals(0,newWorld.PICKBEEPER()) newWorld.setBeepers(8, 9, 1) newWorld._positionRobot(8, 9, world.NORTH) Index: robot.py =================================================================== RCS file: /cvsroot/gvr/GvR/robot.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** robot.py 13 Feb 2004 13:47:56 -0000 1.5 --- robot.py 14 Feb 2004 17:05:18 -0000 1.6 *************** *** 51,61 **** def PUTBEEPER(self, line): ! self.world.PUTBEEPER() ! self.makeBeeperSound('putbeeper') self._update(line) def PICKBEEPER(self, line): ! self.world.PICKBEEPER() ! self.makeBeeperSound('pickbeeper') self._update(line) --- 51,65 ---- def PUTBEEPER(self, line): ! if self.world.PUTBEEPER(): ! self.makeBeeperSound('putbeeper') ! else: ! self._no_beepers_to_put() self._update(line) def PICKBEEPER(self, line): ! if self.world.PICKBEEPER(): ! self.makeBeeperSound('pickbeeper') ! else: ! self._no_beepers_to_pick() self._update(line) Index: world.py =================================================================== RCS file: /cvsroot/gvr/GvR/world.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** world.py 13 Feb 2004 14:02:53 -0000 1.13 --- world.py 14 Feb 2004 17:05:18 -0000 1.14 *************** *** 123,127 **** def PICKBEEPER(self): (x,y) = self.robot - if self.beepers.has_key((x,y)) and self.beepers[(x,y)] >= 1: self.robotBeepers += 1 --- 123,126 ---- *************** *** 129,143 **** if self.beepers[(x,y)] == 0: del self.beepers[(x,y)] else: ! self._no_beepers_to_pick() def PUTBEEPER(self): (x,y) = self.robot ! if self.robotBeepers > 0: ! self.robotBeepers = self.robotBeepers - 1 ! self.beepers[(x,y)] = self.beepers.get((x,y), 0) + 1 ! ! else: ! self._no_beepers_to_put() #------ test conditions --- 128,141 ---- if self.beepers[(x,y)] == 0: del self.beepers[(x,y)] + return 1 else: ! return 0 def PUTBEEPER(self): (x,y) = self.robot ! if self.robotBeepers == 0: return 0 ! self.robotBeepers = self.robotBeepers - 1 ! self.beepers[(x,y)] = self.beepers.get((x,y), 0) + 1 ! return 1 #------ test conditions *************** *** 217,224 **** raise _("robot hit a wall") - def _no_beepers_to_put(self): - raise _("no beepers to put") - - def _no_beepers_to_pick(self): - raise _("no beepers to pick") --- 215,217 ---- |
From: <sho...@us...> - 2004-02-14 16:41:16
|
Update of /cvsroot/gvr/GvR/worlds In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10926 Added Files: boring.wld Log Message: added --- NEW FILE: boring.wld --- Robot 1 1 N 0 |
From: <sho...@us...> - 2004-02-14 16:26:54
|
Update of /cvsroot/gvr/GvR In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8708 Modified Files: TESTgvrlexer.py TESTgvrparser.py gvrparser.py Log Message: parser now supports a cheat command Index: TESTgvrlexer.py =================================================================== RCS file: /cvsroot/gvr/GvR/TESTgvrlexer.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** TESTgvrlexer.py 15 Jul 2003 22:38:02 -0000 1.1.1.1 --- TESTgvrlexer.py 14 Feb 2004 16:20:17 -0000 1.2 *************** *** 11,14 **** --- 11,17 ---- assertEquals("end", myInstance.tokens()[1]['statement']) + myInstance = Lexer(["cheat makebeeper"]) + assertEquals("cheat", myInstance.tokens()[0]['statement']) + myInstance=Lexer(["begin end", "foo"]) assertEquals({'statement' : 'foo', 'line' : 1}, myInstance.tokens()[2]) *************** *** 50,51 **** --- 53,56 ---- assertEquals(expectedLines, define_blocks(lines)) + + Index: TESTgvrparser.py =================================================================== RCS file: /cvsroot/gvr/GvR/TESTgvrparser.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** TESTgvrparser.py 15 Jul 2003 22:38:02 -0000 1.1.1.1 --- TESTgvrparser.py 14 Feb 2004 16:20:17 -0000 1.2 *************** *** 293,296 **** --- 293,297 ---- findOpening moveSome + cheat makebeeper ''', ''' *************** *** 306,309 **** --- 307,311 ---- self.findOpening(7) self.moveSome(8) + self.cheat('makebeeper', 9) ''', None) Index: gvrparser.py =================================================================== RCS file: /cvsroot/gvr/GvR/gvrparser.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** gvrparser.py 13 Feb 2004 01:50:30 -0000 1.8 --- gvrparser.py 14 Feb 2004 16:20:17 -0000 1.9 *************** *** 89,92 **** --- 89,93 ---- _('turnleft'), _('turnoff'), + _('cheat'), ) # The tuple DIV contains names/words used in the GvR langauge, but are *************** *** 147,150 **** --- 148,160 ---- return "%sself.%s(%i)\n" % (self.indent, PySyntax(self.statement), self.line) + class Cheat(Statement): + def __init__(self, token, indent): + DEBUG("Cheat: %s" % token['statement']) + self.statement = token['statement'] + self.indent = indent + self.line = token['line'] + def build(self): + return "%sself.cheat('%s', %i)\n" % (self.indent, PySyntax(self.statement), self.line) + class Block: def __init__(self, tokens, indent): *************** *** 181,188 **** token = end+1 else: ! self.statements.append(Statement(self.tokens[token], indent)) token += 1 - - #self.statements = [Statement(token, indent) for token in tokens] def findEnd(self, num, token): --- 191,202 ---- token = end+1 else: ! cmd = self.tokens[token] ! if cmd['statement'] == 'cheat': ! token += 1 ! cheat = self.tokens[token] ! self.statements.append(Cheat(cheat, indent)) ! else: ! self.statements.append(Statement(cmd, indent)) token += 1 def findEnd(self, num, token): |