Hallo!
Ich musste neulich einige Listings von KRL Programmen mit LaTeX dokumentieren. Dafür habe ich das listings package um eine definition der KRL-Sprache erweitert. Ich weiss nicht, ob das für irgendwen spannend ist, aber ich leg mal die erste Version hier hin, ich weiss, das noch viele Befehle fehlen und man das was schlauer machen könnte, aber immerhin...
Wenn Erweiterungen rein kommen, würd ich dann die neuen Versionen einfach hier hin legen, für den Fall, das es mal wer braucht.
Kai
------------------------------------------------------------------------------
\lst@definelanguage{KRL}%
{morekeywords={% Variables definitions
REAL,INT,CHAR,ENUM,E6POS,FRAME,DECL},%
morekeywords=[2]{% internal variables
$_I_O_ACTCONF,$ACC.CP,$ACC.ORI1,$ACC.ORI2,
$ACC_AXIS,$ADAP_ACC,$ADVANCE,$ALARM_STOP,
$APO.CDIS,$APO.CORI,$APO.CPTP,$APO.CVEL,
$APO_DIS_PTP,$BASE,$CIRC_TYPE,$CONFIG.DAT,
$CURR_LIM,$CURR_MAX,$CURR_RED,$CUSTOM.DAT,
$CYCFLAG,$EXT_START,$EXT_START$IN,$FLAG,$I_O_ACTCONF,
$I_O_ACTCONF $OUT,$IBUS_ON,$IN,$INSIM_TBL,
$IOBLK_EXT,$IOSIM_IN,$IOSIM_OPT,$IOSIM_OUT,
$IPO_MODE,$MACHINE.DAT,$NEARPATHTOL,$NULLFRAME,
$NUM_AX,$ORI_TYPE,$OUT,$OUT_C,$OUT_NODRIVE,
$OUTSIM_TBL,$POS_ACT,$POS_RET,$PRO_I_O,
$PRO_MODE,$PSER,$RED_T1,$ROBCOR.DAT,$ROBROOT,
$SET_IO_SIZE,$SINGUL_POS,$STOPMESS $OUT,
$TIMER,$TIMER_FLAG,$TIMER_STOP,$TOOL,$TORQ_DIFF,
$TORQ_VEL,$TORQMON_COM,$TORQMON_COM_DEF,
$TORQMON_TIME,$TORQUE_AXIS,$VEL.CP,$VEL.ORI1,
$VEL.ORI2,$VEL_AXIS,$WORLD
},%
morekeywords=[3]{% commands
IF,THEN,ELSE,ENDIF,
FOR,TO,DO,ENDFOR,
WHILE,DO,ENDWHILE,
LOOP,ENDLOOP,
SWITCH,CASE,ENDSWITCH,
AND,OR,NOT,EXOR,
PTP,PTP_REL,LIN,LIN_REL,CIRC,CIRC_REL,
ANIN,ANOUT,
BRAKE,CCLOSE,CHANNEL,CONFIRM,CONTINUE,COPEN,CREAD,CCLOSE,CWRITE,
DEF,DEFAULT,DEFDAT,DEFFCT,DELAY,DIGIN,DIGOUT,DISTANCE,ENDDAT,ENDFCT,
EXIT,EXT,EXTFCT,GLOBAL,GOTO,HALF,IF,IMPORT,INTERRUPT,IS,MAXIMUM,MINIMUM,
PRIO,PULSE,REPEAT,RESUME,RETURN,SEC,SIGNAL,SREAD,STRUC,SWRITE,TRIGGER,UNTIL,WAIT,WHEN},
alsoletter=\`,%
sensitive,%
morecomment=[s]{/*}{*/},%
morecomment=[l]//,% nonstandard
morestring=[b]"%
}[keywords,comments,strings]%
----------------------------------------------------------------------------------
(Einfach raus kopieren und zu den übrigen Sprachdefinitionen einfügen.)