LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 05-01-2007, 12:50 PM   #1
bdb4269
Member
 
Registered: Feb 2006
Posts: 57

Rep: Reputation: 22
Need text editor w/ GOOD CUSTOM SYNTAX HIGHLIGHTING. (Dont care what langs come with)


Preferably I would like one that also...

"folds" syntax blocks
has syntax layout/summary tree's
has autocomplete/suggest


MOST IMPORTANTLY - If it does not have GOOD(GUI), support for CREATING YOUR OWN syntax highlighting/folding layouts for COMPLEX and extremely rare lang's -- please don't bother suggesting it. There are a kajillion editors that highlight 50-300 lang's -- and I don’t care about any of those langs.

Basically -- the ONLY lang I want to syntax highlight is "CfMC Survent/Mentor" – Now…. I highly doubt it….. but if someone knows a editor that highlights/recognizes "CfMC Survent/Mentor" -- by all means, please let me know, regardless of other features.

BTW – I know this is a linux forum, but I am looking for an editor that runs on WINDOWS preferably. If it runs on linux, and can be run through through a SSH or telnet session, then that’s fine too – but I’m not interested a linux only GUI editor.
 
Old 05-01-2007, 01:47 PM   #2
cgjones
Member
 
Registered: Nov 2005
Location: Central New York
Distribution: Ubuntu
Posts: 405

Rep: Reputation: 31
You might want to check out Vim. If it doesn't do what you need out of the box, you can usually make it do what you need.
 
Old 05-02-2007, 01:05 AM   #3
Zention
Member
 
Registered: Mar 2007
Posts: 119

Rep: Reputation: 16
Well it is VIM, Emacs or Eclipse really.

I prefer VIM - but hey this question is one of the oldest around.

Does CfMC have their own editor - anyway you could roll your own syntax highlighting quite easily in VIM just have a look at a language that you are already familiar with and use it as a template, perhaps a similar language to the structure CfMC uses.

Problem with VIM is the sharp learning curve - if you have to ask about an editor then you probably will find it an uphill struggle for a couple of weeks, but after that you don't really want to use anything else.
 
Old 05-02-2007, 03:17 AM   #4
bdb4269
Member
 
Registered: Feb 2006
Posts: 57

Original Poster
Rep: Reputation: 22
I have used VIM before -- and am familiar with the basic's, but dont particularly like it. Though i has been many years since I did anything with it, and Im not sure how much if any it has changed. Also, I never really looked into plugins for it before, I may well try it out, but probably after emacs and/or eclipse, since I have never had any experience with those, and I like to try a lot of things so I can choose what I like.

CfMC probably does have a syntax highlighting editor, but it's probably expensive as hell, and I know for sure my work would not pay for it (It would cost them less to pay me to make this, and they wouldn't do that -- I just decided i would do it on my own time, to make my day to day work a bit easier/nicer and to learn a bit more about regex's, as I havn't ever needed to do anything as complex with them as I will to do this.)

And unfortunately CfMC is a really strange languange, not really that hard to use, but really odd structure based on the fact is was originally written for punch card machines, so all data is stored in punch card locations, the softwares sole purpose is CATI (computer assisted telephone interviewing) and it has some very loose rules. Anyway what it comes down to, is that, while I can look at syntax profiles for other lang's I know, to get an idea of how I need to do it, it's pretty much pointless to try to use one as a template since I would have to change so much. Mostly, other than CFMC, I only know scripting languages like perl, csh, bash, and dos batch If anyone else by chance knows of a language that looks at all like this, please let me know! (just a note: This is highly truncated - oh and '' as you can prolly tell is comment)

Code:
''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
''   =============================================================
''      *******************************************************
''         |||||||||||||||||||||||||||||||||||||||||||||||||
''                     INITIALIZE STUDY/DATA RECORD
''         |||||||||||||||||||||||||||||||||||||||||||||||||
''      *******************************************************
''   =============================================================
''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++





>PURGESAME
''----------------->HEADER STATEMENT:

~PREPARE COMPILE
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[u0560,99/80,"PHYSICIAN TRACKING",&         ''@
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
CASEID=1.5,NEXTCASEID=00001,NUMERIC_WIDTH_REQUIRED, &
ERRORBEEP,ECHOCATS,TEXTSTART=80/01,DATALOCREQUIRED,SPECWIDTH=132,&  ''ECHOCATS,
INFO_BETWEEN=3,FONE_TEXT_LENGTH=900, &
SHOW_QUESTION_LABELS,TRIPLE_QUOTAS,SCREENLINES=22]

''----------------->DEFINE COLUMN REFERENCE FORMAT:
>LOCFORMAT 1/1

''----------------->ESTABLISH IN WHAT INCREMENTS TO NUMBER QUESTIONS:
''                   (START AT .04 AND INCREMENT BY .01 EACH TIME)
{!NUMBERING 0.04, 0.01}
{!-CHECKOVERLAP}
{!VIEWQUOTA=T}

''----------------->DO NOT INCLUDE INFO/CODE IN SURVHARD UNTIL
''                     ENCOUNTER A "{!HARDCOPY" STATEMENT
{!-HARDCOPY}

''----------------->SET UP NUMBER OF BLANKLINES TO PUT BETWEEN THE
''                      THE QUESTION TEXT AND THE ANSWER LIST
{!BLANKLINES=1}

''----------------->SET UP DEFINITIONS OF OFTEN USED TEXT:
>DEF @U \U   ''Turn on underline
>DEF @F \F   ''Turn on Flashing reverse video
>DEF @B \B   ''Turn on inverse video
>DEF @E \E   ''Turn off enhancement
>DEF @PRTC PRESS RETURN TO CONTINUE.
>DEF @EO ENTER "1" TO CONTINUE.
>DEF @INT INTERVIEWER:
>DEF @INTPR INTERVIEWER: PRESS RETURN TO CONTINUE.
>DEF @DNRL DO @U~NOT@E~ READ LIST.
>DEF @MRA MULTIPLE RESPONSES ACCEPTED.
>DEF @OA @F~ONE@E~ ANSWER ACCEPTED.
>DEF @DNRD DO @F~NOT@E~ READ:\*
>DEF @RL READ LIST - @F~ONE@E~ ANSWER ACCEPTED.
>DEF @SO \(19)SPECIFY OTHER:
>DEF @V (VOLUNTEERED)\*
>DEF @P INTERVIEWER: PRESS RETURN TO CONTINUE.
>DEF @I INTERVIEWER:
>DEF @R INTERVIEWER: READ LIST.
>DEF @RI INTERVIEWER: READ LIST.
>DEF @D INTERVIEWER: DO NOT READ LIST.
>DEF @M INTERVIEWER: ENTER ALL THAT APPLY.
>DEF @DNR INTERVIEWER: DO NOT READ LIST. ENTER ALL THAT APPLY.
>DEF @HANG INTERVIEWER: HANG UP AND PRESS RETURN TO CONTINUE.

''----------------->SET UP ALL TARGET QUOTAS:
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
{!TARGET (COMPLETE)=9999}


''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
''----------------->SET QUOTA VALUE OF # HH ATTEMPTS NEEDED       ''@
''                    (MOSTLY FOR YPI - DEFAULT=99)               ''@
{!TARGET (N_HH_ATTEMPT=99}                                        ''@
''----------------->SET QUOTA VALUE OF # RESP. ATTEMPTS NEEDED    ''@
''                    (MOSTLY FOR YPI - DEFAULT=99)               ''@
{!TARGET (N_RESP_ATT)=99}                                         ''@

''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


''----------------->INITIALIZE FUNCTION KEYS AND TOP OF SCREEN ON
''                   WYSE 50 TERMINALS
{TOPSCREN:
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
\^[FTTC #29/056 - (\:STDYCODE:) PHYSICIAN TRACKING            03/07
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 \^[A1t \^[z0BACK-UP \^[z6F15+F16=\^[z7CONTROL \^[z@^\^M
     \^[zNTERMINAT\^[zOE\^M
     \^[z3    F12=\^[z4SUSPEND.
 \^[zKSUSPEND\^M
...
!GOTO}

''----------------->SET UP INITIAL COUNTS FOR RATE CALCULATION
{SETRATES:
!GOTO}
{!SPC,L,[72/01],1,6}   ''GET START TIME FROM SCRATCH AREA
{  [72/74.3]          ''INITIALIZE COMPLETES IF FIRST TIME THROUGH
!IF [72/01.6$]="      "
!EXPR,Z,000}
{!IF [72/01.6$]="      "
!SPC,K,9,[72/74],3}   ''WRITE OUT COMPLETES
{   [72/12.12]        ''GET START TIME IF START AREA IS BLANK
!IF [72/01.6$]="      "
!SPC,3}

{ [1/17.4] !PHONE,G,51,4}                           ''QUOTAGROUPS
{ [1/56.4] !PHONE,G,181,4} ''IF YPI-GET MSA/NONMSA;N/M/S/W;U/S/R;GENDER
{ [1/50.3] !PHONE,G,198,3} ''GET SSI/YPI CENSUS DIV/FIPS STATE


{QUOTA1: [1/17]                                                   ''@
!IF [1/17^NB]                                                     ''@
!CAT,A                                                            ''@
(1) 1 QUOTA GROUP 1-1                                             ''@
(2) 2 QUOTA GROUP 1-2                                             ''@
(3) 3 QUOTA GROUP 1-3                                             ''@
}                                                                 ''@
 

''----------------->DO THE ACTUAL QUOTA CHECKING - PUT AWAY AS
''                  FONESTATUS "212" (SHOW NO ATTEMPT) IF OQ
''                  NOTE: THIS ENTIRE BLOCK WILL NEED MODIFICATION
''                  FOR EVERY STUDY.
{CHECKQ:
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
''!IF ([1/17^1] AND QUOTA(FAIRFIELD)<QUOTA(FAIRFIELD.T)) OR &   ''@
''    ([1/17^2] AND QUOTA(NEWHAVEN)<QUOTA(NEWHAVEN.T)) OR &   ''@
''    ([1/17^3] AND QUOTA(HARTFORD)<QUOTA(HARTFORD.T))
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
!GOTO SHOWINFO}


{DIALINTR: [1/60]
''!RDG 93,1,1,1,1,1,1,1
''!RDG 92,1,1,1,1,1,1,1,1
!RDG 91,1,1,1,1,1,1,1,1,1

    QUOTA \:QUOTA1: ''\:QUOTA2: \:QUOTA3:

DIAL THIS NUMBER: (\:AREACODE:)-\:NPX:-\:NNNN:

AND ENTER RESULT OF THE DIALING:

!CAT
''*CHANGE
(0,SKIPTO STRTIMER) 0 - CONTINUE - PHONE ANSWERED AT A \:TYPE1:
(1,SKIPTO DISC) 1 - DISCONNECTED - PHONE COMPANY MESSAGE
(2,SKIPTO RGVT) 2 - \:TYPE2:
(5,SKIPTO NA) 6 - NO ANSWER - NORMAL RING - NO RECORDING/MACHINE
(6,SKIPTO BUSY) 7 - BUSY
(7,SKIPTO AM) B - ANSWERING MACHINE/VOICE MAIL/ANSWERING SERVICE
(8,SKIPTO FAXMODEM) M - FAX/MODEM NUMBER/DATA LINE
(9,SKIPTO NEWNUM) 9 - NEW NUMBER FROM TELEPHONE COMPANY
(4,SKIPTO MESSAGE) 4 - LEFT 800 NUMBER
(X,SKIPTO PRIMGR) X - PRIVACY MANAGER
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
''----------------->MAY WANT TO ACTIVATE ONE OR BOTH OF FOLLOWING ''@
''                  IF SO, TICK IN/OUT RIGHT "RDG" LINES ABOVE    ''@
''                  NOTE: HOT SHEET USUALLY FOR BUSINESS STUDIES  ''@
''                    ALSO USING A "PAPER" SAMPLE ALONG W/FF      ''@
''(4,SKIPTO HOTSHEET) H - NUMBER ON "HOT" SHEET                   ''@
''(3,SKIPTO NOINOQGP) Q - NUMBER IN OVER QUOTA GROUP - DON'T DIAL ''@
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
}



{Q1B: [2/15]

1b.  Are you currently in full-time, office-based private practice?


!CAT
(1,SKIPTO Q1c) 1 Yes
(2) 2 No 
}


{TERMQ1B:

    I apologize, but we are looking for physicians in full-time, 
                office based private practice. 
    
    Thank you for your time.  Have a nice \:TOD:.

@HANG
IF USING HARD COPY SAMPLE ENTER "9-Q1B" ON YOUR SAMPLE.


!DISP,1}

{  [1/78.3]
!EXPR,Z,,723}
{!GOTO TESTLIVE}



{Q3A: [5/21.19]
!IF [2/21^1]
3a.  Thinking now just about oral contraceptives, what brand or brands
     of Oral Contraceptives do you currently prescribe?
(DO NOT READ LIST-ENTER ALL MENTIONS) PROBE:  What others?
!CAT,,19
(+00,1) 01 Alesse
(+01,1) 02 Desogen
(+02,1) 03 Estrostep
(+03,1) 04 LoOvral
(+04,1) 05 Loestrin
(+05,1) 06 Loestrin 24 (Loestrin 24 Fe)
(+06,1) 07 Mircette
(+07,1) 08 Nordette
(+08,1) 09 Ortho-Cept
(+09,1) 10 Ortho Tri-Cyclen
(+10,1) 11 Ortho Tri-Cyclen Lo
(+11,1) 12 Ovcon/Ovcon 35
(+12,1) 13 Seasonale
(+13,1) 14 Seasonique
(+14,1) 15 TriPhasil
(+15,1) 16 Yasmin
(+16,1) 17 YAZ
(+17,1) 18 Generics
(+18,1) 19 Other
}

{Q3AOTH: [79/02]
!IF [5/39^1]
\(09)

SPECIFY OTHERS:
!TEX,L}

''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

>REPEAT $A=1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9;&
$B=21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75;&
$C=21,22,23,...,39;&
$D=01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19;&
$E=04,04,04,04,04,04,04,04,04,04,05,05,05,05,05,05,05,05,05;&
$F=24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25;

{!IF [5/$C^1]AND NUMITEMS([5/21.19])=1
!GEN,A,[51/$E],$A}

''LETS PUNCH ALL UP INTO 51/24.2 FOR NET
{!IF [5/$C^1]''AND NUMITEMS([5/21.19])=1
!GEN,A,[51/$F],$A}


{ [6/$B.3]
!IF [5/$C^1]AND NUMITEMS([5/21.19])=1
!EXP,,,100}

{ [7/13.2]
!IF [5/$C^1]AND NUMITEMS([5/21.19])=1
!EXP,Z,,$D} ''PUNCH UP AS #1 RANK

>ENDREPEAT


''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
''PN:  SEE RANKING RULES. ASK Q.3c IF NECESSARY
''HERE WE FIGURE OUT THE RANKING
''FIRST WHAT IS THE MAX AMOUNT OF ANY OF THEM
''AND PUT CODES OF MAX AMOUNT IN HOLDING COLUMN
>REPEAT $A=1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9;&
$B=21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75;&
$C=21,22,23,...,39;&
$D=01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19;&
$E=04,04,04,04,04,04,04,04,04,04,05,05,05,05,05,05,05,05,05;&
$F=2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20;

{  [51/31.3]
!IF MAX([6/21.3],[6/24.3],[6/27.3],[6/30.3],[6/33.3],[6/36.3],&
[6/39.3],[6/42.3],[6/45.3],[6/48.3],[6/51.3],[6/54.3],[6/57.3],&
[6/60.3],[6/63.3],[6/66.3],[6/69.3],[6/72.3],[6/75.3])&
=X([6/$B.3])
!EXP,,,X([6/$B.3])}
{!IF MAX([6/21.3],[6/24.3],[6/27.3],[6/30.3],[6/33.3],[6/36.3],&
[6/39.3],[6/42.3],[6/45.3],[6/48.3],[6/51.3],[6/54.3],[6/57.3],&
[6/60.3],[6/63.3],[6/66.3],[6/69.3],[6/72.3],[6/75.3])&
=X([6/$B.3])
!GEN,A,[51/$E],$A}
>ENDREPEAT

''IF ONLY 1 IS MAX AMOUNT MAKE IT RANK1
>REPEAT $A=1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9;&
$B=21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75;&
$C=21,22,23,...,39;&
$D=01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19;&
$E=04,04,04,04,04,04,04,04,04,04,05,05,05,05,05,05,05,05,05;&
$F=2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20;

{ [7/13.2]
!IF NUMITEMS([51/04.2])=1 AND [51/$E^$A]
!EXP,Z,,$D}
>ENDREPEAT

{!GEN,M,[51/08],[51/24],2}

>REPEAT $A=1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,0;& ''9;&
$B=21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75;&
$C=51,52,53,...,69;&
$D=01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19;&
$E=08,08,08,08,08,08,08,08,08,08,09,09,09,09,09,09,09,09,09;
{!IF [7/$C^1]
!GEN,A,[51/$E],$A}
>ENDREPEAT







''===========================================================================
''===========================================================================
''===========================================================================
''NOW IF ONLY 1 PUNCH IT UP
>REPEAT $A=1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0;& ''9;&
$B=21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78;&
''$C=51,52,53,...,69;&
$D=01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20;&
$E=08,08,08,08,08,08,08,08,08,08,09,09,09,09,09,09,09,09,09,09;
{ [8/$B.3]
!IF [51/$E^$A]AND NUMITEMS([51/08.2])=1
!EXP,,,100}
>ENDREPEAT

{!IF NUMITEMS([51/08.2])=1
!GOTO B4Q3H}
{!IF NUMITEMS([51/08.2])=0
!GOTO B4Q3H}



{Q3GDISP:

3g. I’m going to read you the list of Oral Contraceptive brands that
    you currently or expect to prescribe . I’d like you to take out
    a piece of paper and write them down as I read them to you

(ALLOW TIME TO GET PAPER)
PRESS RETURN WHEN RESPONDENT HAS PAPER AND PEN.
!DISP}

''PN:  SHOW BRANDS AND PERCENTAGES GIVEN IN Q.3b PLUS
''ADDITIONAL BRANDS FROM Q.3f.
{
(READ LIST AND "PAST 30 DAY" %'s SHOWN BELOW, IF ANY, WHEN RESPONDENT IS READY)
!DISP,2}


>REPEAT $A=21,22,23,24,...,38; &
        $B=21,24,27,30,...,72; &
        $C=a,b,c,d,...,r; &
        $E=51,52,53,54,...,68; &
        $D=&
"Alesse..............\|[6/21.3]|%",&
"Desogen.............\|[6/24.3]|%",&
"Estrostep...........\|[6/27.3]|%",&
"LoOvral.............\|[6/30.3]|%",&
"Loestrin............\|[6/33.3]|%",&
"Loestrin 24.........\|[6/36.3]|%",&
"Mircette............\|[6/39.3]|%",&
"Nordette............\|[6/42.3]|%",&
"Ortho-Cept..........\|[6/45.3]|%",&
"Ortho Tri-Cyclen....\|[6/48.3]|%",&
"Ortho Tri-Cyclen Lo.\|[6/51.3]|%",&
"Ovcon/Ovcon 35......\|[6/54.3]|%",&
"Seasonale...........\|[6/57.3]|%",&
"Seasonique..........\|[6/60.3]|%",&
"TriPhasil...........\|[6/63.3]|%",&
"Yasmin..............\|[6/66.3]|%",&
"YAZ.................\|[6/69.3]|%",&
"Generics............\|[6/72.3]|%";&
        $F=&
"Alesse..............(Expect to prescribe)",&
"Desogen.............(Expect to prescribe)",&
"Estrostep...........(Expect to prescribe)",&
"LoOvral.............(Expect to prescribe)",&
"Loestrin............(Expect to prescribe)",&
"Loestrin 24.........(Expect to prescribe)",&
"Mircette............(Expect to prescribe)",&
"Nordette............(Expect to prescribe)",&
"Ortho-Cept..........(Expect to prescribe)",&
"Ortho Tri-Cyclen....(Expect to prescribe)",&
"Ortho Tri-Cyclen Lo.(Expect to prescribe)",&
"Ovcon/Ovcon 35......(Expect to prescribe)",&
"Seasonale...........(Expect to prescribe)",&
"Seasonique..........(Expect to prescribe)",&
"TriPhasil...........(Expect to prescribe)",&
"Yasmin..............(Expect to prescribe)",&
"YAZ.................(Expect to prescribe)",&
"Generics............(Expect to prescribe)";

{   [6/$b.3]
!if [6/$b.3^^nb]
!EXPR,B,,X([6/$b.3])}


{!IF [5/$A^1]
\A
$D
!DISP,2}
{!IF [7/$E^1]
\A
$F
!DISP,2}
{!IF [5/$A^N1] AND [7/$E^N1]
\A
-
!DISP,2}

{   [6/$b.3]
!if [6/$b.3^^nb]
!EXPR,Z,,X([6/$b.3])}

>ENDREPEAT

{   [6/75.3]
!if [6/75.3^^nb]
!EXPR,B,,X([6/75.3])}

{!IF [5/39^1]
\A
\:Q3AOTH:  \(20,21)\|[6/75.3]|%
!DISP,2}
{!IF [5/39^N1]
\A
-
!DISP,2}
{   [6/75.3]
!if [6/75.3^^nb]
!EXPR,Z,,X([6/75.3])}

{!IF [7/69^1]
\A
\:Q3FOTH: \(21,21)(Expect to prescribe)
!DISP,2}

{
\A
(PRESS RETURN TO CONTINUE WHEN RESPONDENT IS FINISHED WRITING)
!DISP}

{Q3G:

     Now, thinking about the Oral Contraceptive prescriptions that you
     expect to write in the \unext 3 months,\e both new and refills,
     approximately what percentage will be for each brand?
     Your numbers should add to 100%.

Let's start with ...


@P
!DISP}


{
-                   PAST  /   NEXT 
!DISP,2}

>REPEAT $A=21,22,23,24,...,38; &
        $B=21,24,27,30,...,72; &
        $C=a,b,c,d,...,r; &
        $E=51,52,53,54,...,68; &
        $D=&
"Alesse..............\|[6/21.3]|%.....",&
"Desogen.............\|[6/24.3]|%.....",&
"Estrostep...........\|[6/27.3]|%.....",&
"LoOvral.............\|[6/30.3]|%.....",&
"Loestrin............\|[6/33.3]|%.....",&
"Loestrin 24.........\|[6/36.3]|%.....",&
"Mircette............\|[6/39.3]|%.....",&
"Nordette............\|[6/42.3]|%.....",&
"Ortho-Cept..........\|[6/45.3]|%.....",&
"Ortho Tri-Cyclen....\|[6/48.3]|%.....",&
"Ortho Tri-Cyclen Lo.\|[6/51.3]|%.....",&
"Ovcon/Ovcon 35......\|[6/54.3]|%.....",&
"Seasonale...........\|[6/57.3]|%.....",&
"Seasonique..........\|[6/60.3]|%.....",&
"TriPhasil...........\|[6/63.3]|%.....",&
"Yasmin..............\|[6/66.3]|%.....",&
"YAZ.................\|[6/69.3]|%.....",&
"Generics............\|[6/72.3]|%.....";&
        $F=&
"Alesse.......................",&
"Desogen......................",&
"Estrostep....................",&
"LoOvral......................",&
"Loestrin.....................",&
"Loestrin 24..................",&
"Mircette.....................",&
"Nordette.....................",&
"Ortho-Cept...................",&
"Ortho Tri-Cyclen.............",&
"Ortho Tri-Cyclen Lo..........",&
"Ovcon/Ovcon 35...............",&
"Seasonale....................",&
"Seasonique...................",&
"TriPhasil....................",&
"Yasmin.......................",&
"YAZ..........................",&
"Generics.....................";

{   [6/$b.3]
!if [6/$b.3^^nb]
!EXPR,B,,X([6/$b.3])}

{!IF [5/$A^1]
\A
$D
!DISP,2}

{!IF [7/$E^1]
\A
$F
!DISP,2}

{!IF [5/$A^N1] AND [7/$E^N1]
\A
-
!DISP,2}

{   [6/$b.3]
!if [6/$b.3^^nb]
!EXPR,Z,,X([6/$b.3])}

>ENDREPEAT


{   [6/75.3]
!if [6/75.3^^nb]
!EXPR,B,,X([6/75.3])}
{!IF [5/39^1]
\A
\:Q3AOTH: \(20,21)\|[6/75.3]|%.....
!DISP,2}
{!IF [5/39^N1]
\A
-
!DISP,2}
{   [6/75.3]
!if [6/75.3^^nb]
!EXPR,Z,,X([6/75.3])}


{!IF [7/69^1]
\A
\:Q3FOTH: \(21,29).
!DISP,2}


{   [52/31.3]  ''RUNNING TOTAL
!EXPR,,,0}

{   [52/34.3]  ''REMAINING
!EXPR,,,100}



>REPEAT $A=21,22,23,24,...,38; &
        $B=21,24,27,30,...,72; &
        $C=a,b,c,d,...,r; &
        $D=&
"Alesse",&
"Desogen",&
"Estrostep",&
"LoOvral",&
"Loestrin",&
"Loestrin 24 (Loestrin 24 Fe)",&
"Mircette",&
"Nordette",&
"Ortho-Cept",&
"Ortho Tri-Cyclen",&
"Ortho Tri-Cyclen Lo",&
"Ovcon/Ovcon 35",&
"Seasonale",&
"Seasonique",&
"TriPhasil",&
"Yasmin",&
"YAZ",&
"Generics";&
        $E=51,52,53,54,...,68;&
        $F=2,3,4,5,6,7,8,...,19;




{Q3G_$C:   [8/$B.3]
!IF ([5/$A^1] OR [7/$E^1])
\(05,40) (RECORD PERCENTAGE FOR EACH BRAND)
\(08,40) $C.  $D?            
\(09,40)     \____
\(11,40) (RECORD NUMBER FROM 0-\|[52/34.3]|)
\(13,40) RUNNING TOTAL:  \(13,57)  \|[52/31.3]|
\(14,40)     REMAINING:  \(14,57)  \|[52/34.3]|
!NUM,Z,,0-[52/34.3]}

{   [52/31.3]
!EXPR,b,,X([52/31.3])+X([8/$B.3])}

{   [52/34.3]
!EXPR,b,,X([52/34.3])-X([8/$B.3])}

{   [8/$b.3]
!if [8/$b.3^^nb]
!EXPR,B,,X([8/$b.3])}

{!IF ([5/$A^1] OR [7/$E^1])
\($F,30)\|[8/$B.3]|%
!DISP,2}

{   [8/$b.3]
!if [8/$b.3^^nb]
!EXPR,Z,,X([8/$b.3])}

>ENDREPEAT





{Q3G_S:   [8/75.3]
!IF [5/39^1]
\(05,40) (RECORD PERCENTAGE FOR EACH BRAND)
\(08,40) s.  \:Q3AOTH:?            
\(09,40)     \____
\(11,40) (RECORD NUMBER FROM 0-\|[52/34.3]|)
\(13,40) RUNNING TOTAL:  \(13,57)  \|[52/31.3]|
\(14,40)     REMAINING:  \(14,57)  \|[52/34.3]|
!NUM,Z,,0-[52/34.3]}

{   [52/31.3]
!EXPR,b,,X([52/31.3])+X([8/75.3])}

{   [52/34.3]
!EXPR,b,,X([52/34.3])-X([8/75.3])}

{   [8/75.3]
!if [8/75.3^^nb]
!EXPR,B,,X([8/75.3])}
{!IF [5/39^1]
\(20,30)\|[8/75.3]|%
!DISP,2}
{   [8/75.3]
!if [8/75.3^^nb]
!EXPR,Z,,X([8/75.3])}


{Q3G_T:   [8/78.3]
!IF [7/69^1]
\(05,40) (RECORD PERCENTAGE FOR EACH BRAND)
\(08,40) t.  \:Q3FOTH:?            
\(09,40)     \____
\(11,40) (RECORD NUMBER FROM 0-\|[52/34.3]|)
\(13,40) RUNNING TOTAL:  \(13,57)  \|[52/31.3]|
\(14,40)     REMAINING:  \(14,57)  \|[52/34.3]|
!NUM,Z,,0-[52/34.3]}

{   [52/31.3]
!EXPR,b,,X([52/31.3])+X([8/78.3])}

{   [52/34.3]
!EXPR,b,,X([52/34.3])-X([8/78.3])}

{   [8/78.3]
!if [8/78.3^^nb]
!EXPR,B,,X([8/78.3])}
{!IF [7/69^1]
\(21,30)\|[8/78.3]|%
!DISP,2}
{   [8/78.3]
!if [8/78.3^^nb]
!EXPR,Z,,X([8/78.3])}





''===========================================================================
''===========================================================================
''===========================================================================
{Q10:   [20/61.3]

10.  How many physicians are there in your practice, including yourself?

(RECORD NUMBER FROM 1-999)

!NUM,Z,,1-999}

{Q11:    [20/71]

INTERVIEWER:  DO NOT ASK.  RECORD GENDER

!CAT
(1) 1 Male
(2) 2 Female
}

{Q12:   [20/75.2]

12.  In what state is your practice located?

!FLD
AL ALABAMA
AK ALASKA
AZ ARIZONA
AR ARKANSAS
CA CALIFORNIA
CO COLORADO
CT CONNECTICUT
DE DELAWARE
DC DISTRICT OF COLUMBIA
FL FLORIDA
GA GEORGIA
HI HAWAII
ID IDAHO
IL ILLINOIS
IN INDIANA
IA IOWA
KS KANSAS
KY KENTUCKY
LA LOUISIANA
ME MAINE
MD MARYLAND
MA MASSACHUSETTS
MI MICHIGAN
MN MINNESOTA
MS MISSISSIPPI
MO MISSOURI
MT MONTANA
NE NEBRASKA
NV NEVADA
NH NEW HAMPSHIRE
NJ NEW JERSEY
NM NEW MEXICO
NY NEW YORK
NC NORTH CAROLINA
ND NORTH DAKOTA
OH OHIO
OK OKLAHOMA
OR OREGON
PA PENNSYLVANIA
RI RHODE ISLAND
SC SOUTH CAROLINA
SD SOUTH DAKOTA
TN TENNESSEE
TX TEXAS
UT UTAH
VT VERMONT
VA VIRGINIA
WA WASHINGTON
WV WEST VIRGINIA
WI WISCONSIN
WY WYOMING }



''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
''>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
''          VERIFICATION AND END
''<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


{ SUPEVER:
!GOTO}

{NAME: [68/13.30]

So I may send you the honorarium, please give me your name and address.

First, may I please have your name?

(INTERVIEWER: ENTER NAME HERE.)

! VAR,,30,02 }

{ !IF [68/13.10$]="          "
A RESPONSE IS REQUIRED!!!!!
! RESET NAME }



''==================================================================
{
ENTER THE FOLLOWING ON YOUR VAL FORM AND/OR YOUR OPEN END SHEET:

       NAME: \:NAME:
''    COMPANY: \:CONAME:
    ADDRESS: \:ADDRESS1:
    ADDRESS: \:ADDRESS2:
       CITY: \:CITY:  \:STATE: \:ZIPCODE:
  TELEPHONE: (\:AREA:) \:PREFIX:-\:SUFFIX:
      QUOTA: \:QUOTA1: \:QUOTA2: \:QUOTA3: \:QUOTA4:

PRESS RETURN FOR THE CASE ID - BE SURE TO RECORD THIS ON YOUR
VALIDATION FORM AND/OR OPEN END SHEET AS WELL.

!DISP} '',2}               ''6,60}
''===================================================================

{!IF [74/48.2#1-4,6-99]
!GOTO EOMER2}

''----------------->INITIALIZE FUNCTION KEYS AND TOP OF SCREEN ON
''                   WYSE 50 TERMINALS

{ADDQUOTA:
!QUOTA,,COMPLETE,1}
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
''------------------>>TICK IN/OUT QUOTAS LISTED BELOW AS NEEDED
''                    OTHER QUOTA GROUPS
{!IF [1/17^1]
!QUOTA,,QUOTAGROUP1,1}
{!IF [1/17^2]
!QUOTA,,QUOTAGROUP2,1}
''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
''___________________________________________________________________
''-------------------------------------------------------------------
{ FINITO: [1/31.10]
! SPC,3 }

{  [1/46.4]
!SPC,7}

{!IF [1/66^1]
!GEN,M,[50/01],[1/01],80}


{!PHONE,P,55,[1/15],2}    ''MOVE LENGTHS BACK TO PHONE FILE
{!PHONE,P,57,[1/74],4}    ''MOVE LENGTHS BACK TO PHONE FILE
{!PHONE,P,51,[1/17],4}
{!PHONE,P,71,[71/01],30}   ''MOVE NAME BACK TO FONEFILE
{!PHONE,P,197,[1/65],1}    ''MOVE NAME FLAG TO FONEFILE
{!PHONE,P,185,[1/68],4}    ''MOVE NUMBER OF ATTEMPTS MADE TO FONEFILE
{!PHONE,P,901,[73/25],15}   ''MOVE LENGTHS BACK INTO FONEFILE
{!PHONE,P,184,[1/59],1}  ''MOVE GENDER BACK TO PHONEFILE
{!PHONE,P,101,[50/01],80}  ''MOVE CARD 1 TO PHONEFILE
{!PHONE,P,201,[2/01],80}  ''MOVE CARD 2 TO PHONEFILE

''{!SPC,A}
{!SPC,H,A,3}

{ENDWORK:   [75/01.65]
!SPC,7}    ''GET ENDING # INTERVIEWERS,LDEV# ETC
~END
That is the survent language. The mentor language is similar is some ways and quite different in some ways.

But - yea - if anyone has ever seen something like that, that has a syntax highlighting profile, that might be good to use as a template, please let me know!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Actionscript editor or syntax highlighting? lhoff Linux - Software 2 06-23-2008 12:11 PM
syntax highlighting for ls command and vim editor cseanburns Other *NIX 0 01-02-2005 03:11 AM
need editor with syntax highlighting & ftp YBA^[x] Linux - Software 5 12-16-2004 04:29 PM
Getting rid of highlighting in a vi editor text file. Dee62 Linux - Newbie 6 03-11-2004 02:55 PM
Good Syntax Highlighting program? insom Programming 10 09-09-2003 05:41 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 03:12 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration