# restable.sed # Tarkoitus tehda Windowsin response taulukoita. # Tapani Tarvainen 13.7.1994 & Vesa Lappalainen # # Tiedostosta etsitaan RESPONCE funktioita ja ne siirretaan taulukkoon. # Esim. rivista: static EVENT WM_initdialog(tMSGParam *msg) # seuraa rivi: { WM_INITDIALOG , DoC , DoC, WM_initdialog}, /*a*/ # # ja rivista: static EVENT WM_command_idcancel(tMSGParam *msg) # seuraa rivi: { WM_COMMAND, IDCANCEL, DoC, WM_command_idcancel}, /*a*/ # # ja rivista: static EVENT WM_command_ID_SCALE__EN_CHANGE(tMSGParam *msg) # seuraa rivi: { WM_COMMAND , ID_SCALE , EN_CHANGE, WM_command_ID_SCALE__EN_CHANGE }, /*a*/ # # ja rivista: static EVENT WM_paint(tMSGParam *msg) /* # 1 # */ # seuraa rivi: { WM_PAINT, DoC , DoC, WM_paint, 1 }, /*a*/ # # Jos rivilla on jono #man#, ei sita lisata taulukkoon # /#man#/d ;# Onko kielletty rivi /.*_.*(.*)/!d ;# Rivilla taytyy olla _ ( ja ) /^static LONG/!{/EVENT/!d;} ;# Vain tallaiset rivit kasitellaan h ;# Alkuperainen rivi jemmaan ;# h=>"static EVENT WM_paint(tMSGParam *msg) /* # 1 # */" s/.* \([a-zA-Z0-9_]*\) *(.*/\1/ ;# => tyotilassa pelkka funktionimi ;# t=> "WM_paint" # Seuraava soopa siirtaa vain alkup. # # valisen osan nimen peraan tJATKA ;# Poistetaan onnistumislippu :JATKA x ;# => holdissa vain funktion nimi, tyot. alkup. s/.*#\([^#]*\)#.*/, \1/ ;# Etsitaan #:jen valinen osa ;# t=> ", 1 " tOLILISA ;# Jos loytyi, niin tama tyotilaan s/.*// ;# Jollei, niin tyotila tyhjaksi :OLILISA G ;# Lisataan funktion nimen peraan ;# t=> ", 1 \nWM_paint" s/\(.*\)\n\(.*\)/\2\1/ ;# t=> "WM_paint, 1 " x ;# Ja tama holdiin ja sielta edellinen tyot. ;# t=> "WM_paint" ;# h=> "WM_paint, 1 " y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ ;# tyotila isoiksi ;# t=> "WM_PAINT\n" s/__/##/ s/\([A-Za-z][A-Za-z0-9]*_[A-Za-z0-9]*\)_*\([A-Za-z0-9_]*\)\(#\?\)\3\([A-Za-z0-9_]*\).*/ { \1 , \2 , \4 , / s/, /, DoC /g ;# jos loppuosa oli tyhja, vaihdetaan DoC ;# t=> "{ WM_PAINT, DoC , DoC, " G ;# hold tyotilan peraan + lf ;# t=> "{ WM_PAINT, DoC , DoC, \nWM_paint, 1 " s/\n//g ;# rivinvaihto pois valista ;# t=> "{ WM_PAINT, DoC , DoC, WM_paint, 1 " s-$- }, /*a*/- ;# lisataan loppuun aaltosulku ja , ja /*a*/ ;# t=> "{ WM_PAINT, DoC , DoC, WM_paint, 1 }, /*a*/"