1 # Define SciTE settings for Forth files
3 # These patterns conflict with fortran.properties and nncrontab.properties
4 # so disable these other properties files if you want to use forth.
5 file.patterns.forth=*.f;*.4th
7 # add '*.tab;*.spf;' to 'source.files' variable in 'SciTEGlobal.properties'
8 # if you want to include these file patterns into default source file list
10 lexer.$(file.patterns.forth)=forth
12 *language.forth=Forth|forth||
16 filter.forth=Forth files (4th f)|$(file.patterns.forth)|
18 *filter.forth=$(filter.forth)
21 word.characters.$(file.patterns.forth)=$(chars.alpha)$(chars.numeric)_
24 #comment.block.at.line.start.forth=0
25 comment.stream.start.forth=(
26 comment.stream.end.forth=)
27 comment.box.start.forth=\
28 comment.box.middle.forth=\
29 comment.box.end.forth=\
33 # control keywords Forth
34 keywords.$(file.patterns.forth)=\
35 again begin case do else endcase endof if loop +loop leave unloop of repeat then until while ?do \
36 < > >= = <> 0<> 0= 0< <0 0>= u< u>= S< S>= jmp goto bw1 bw2 bw3 fw1 fw2 fw3
39 keywords2.$(file.patterns.forth)=\
40 dup ?dup drop rot swap over @ ! 2@ 2! 2dup 2drop 2swap 2over nip r@ >r r> 2r@ 2>r 2r> \
41 sp@ sp! @ ! c@ c! s>d um/mod um* m* * fm/mod sm/rem rshift lshift invert 1+ 1- negate \
42 (cr) (EMIT) (accept) (warm) is lit warm depth /mod mod \
43 space spaces bl word char fill key? key abort abort" */ 2* 2/ /mod cell+ cells char+ \
44 chars move abs hex decimal hold <# # #s #> sign or \
45 count type . u. dump (.") >number ' immediate exit recurse here allot , \
46 c, branch 0branch ?branch ." align aligned create does> \
47 variable constant defer definitions forth forget only also previous literal \
48 source evaluate word interpret quit >body execute find state base \
49 immediate words accept emit cr type echo noecho min max true false \
50 char [char] postpone ['] rst_here rst_state wipe pwr_here pwr_state ( .( \
54 keywords3.$(file.patterns.forth)=\
56 lo2hi hi2lo colon asm endasm \
58 # MSP430 assembly words & MSP430_instructions
59 keywords4.$(file.patterns.forth)=\
60 adc adc.b adc.w add add.b add.w addc addc.b addc.w and and.b and.w \
61 bic bic.b bic.w bis bis.b bis.w bit bit.b bit.w br branch call clrc clrn clrz dint eint \
62 clr clr.b clr.w cmp cmp.b cmp.w dadc dadc.b dadc.w dadd dadd.b dadd.w dec dec.b dec.w decd decd.b decd.w \
63 inc inc.b inc.w incd incd.b incd.w inv inv.b inv.w mov mov.b mov.w pop pop.b pop.w push push.b push.w \
64 jc jhs je jeq jz jge jl jmp jn jnc jlo jne jnz nop nop2 nop3 nop4 nop5 nop6 nop7 ret reti setc setn setz swpb sxt \
65 rla rla.b rla.w rlc rlc.b rlc.w rra rra.b rra.w rrc rrc.b rrc.w sbc sbc.b sbc.w sub sub.b sub.w \
66 subc subc.b subc.w sbb sbb.b sbb.w tst tst.b tst.w xor xor.b xor.w \
67 pushm popm rlam rram rrcm rrum \
70 #keywords5.$(file.patterns.forth)= \
71 #u v w x y ip tos pc rsp psp
74 keywords6.$(file.patterns.forth)=\
82 style.forth.32=$(font.base)
84 # whitespace (SCE_FORTH_DEFAULT)
85 style.forth.0=$(font.base)
87 # Comment (SCE_FORTH_COMMENT)
88 style.forth.1=fore:#00FF00,$(font.comment)
90 # ( ) comment (SCE_FORTH_COMMENT_ML)
91 style.forth.2=fore:#00FF00,$(font.comment)
93 # ML comment (SCE_FORTH_IDENTIFIER)
94 style.forth.3=fore:#FFFFFF
96 # control (keyword_FORTH_CONTROL)
97 style.forth.4=fore:#007f7F
99 # Keywords (keyword2_SCE_FORTH_KEYWORD)
100 style.forth.5=fore:#FF0FF,$(font.base)
102 # defwords (keyword3_SCE_FORTH_DEFWORD)
103 style.forth.6=fore:#FFFF00,$(font.base)
105 # preword1 (keyword4_SCE_msp430_assembly)
106 style.forth.7=fore:#FF0000,$(font.base)
108 # preword2 (keyword5_SCE_msp430_registers)
109 style.forth.8=fore:#FFFF00,$(font.base)
111 # number (SCE_FORTH_NUMBER)
112 style.forth.9=fore:#007F7F,$(font.base)
114 # Double quoted string (SCE_FORTH_STRING)
115 style.forth.10=fore:#00FFFF,$(font.base)
118 style.forth.11=fore:#0000CC,$(font.base)
120 #command.compile.*.f=spf.cmd $(FileNameExt)
122 command.name.0.*.f=preprocess file.f with 2:[target].pat then send file.4th to [target]
123 command.0.*.f=*\config\scite\AS_MSP430\send_file.f_to_target.bat $(FileDir)\$(FileName).f $(2)
125 command.name.1.*.f=preprocess file.f with 2:[target].pat then send file.4th to [target] SD_CARD
126 command.1.*.f=*\config\scite\AS_MSP430\send_file.f_to_SD_CARD_target.bat $(FileDir)\$(FileName).f $(2)
128 command.name.2.*.f=convert FORTH registers to TI's ones
129 command.2.*.f=\prog\gema\gema -line -t -f \config\gema\FastForthREGtoTI.pat $(FileNameExt) $(FileNameExt)
131 command.name.3.*.f=convert TI registers to FORTH's ones
132 command.3.*.f=\prog\gema\gema -line -t -f \config\gema\TiREGtoFastForth.pat $(FileNameExt) $(FileNameExt)
134 command.name.4.*.f=preprocess file.f with 2:[target].pat to file.4th (for debug)
135 command.4.*.f=*\config\scite\AS_MSP430\convert_file.f_to_file.4th.bat $(FileDir)\$(FileName).f $(2)
137 command.name.0.*.4th=send file.4th to [target]
138 command.0.*.4th=\config\scite\AS_MSP430\send_file.4th_to_target.bat $(FileDir)\$(FileName).4th
140 command.name.1.*.4th=send file.4th to [target] SD_CARD
141 command.1.*.4th=\config\scite\AS_MSP430\send_file.4th_to_SD_CARD_target.bat $(FileDir)\$(FileName).4th
143 command.name.2.*.4th=convert TI registers to FORTH's ones
144 command.2.*.4th=\prog\gema\gema -line -t -f \config\gema\TiREGtoFastForth.pat $(FileNameExt) $(FileNameExt)
146 command.name.3.*.4th=convert FORTH registers to TI's ones
147 command.3.*.4th=\prog\gema\gema -line -t -f \config\gema\FastForthREGtoTI.pat $(FileNameExt) $(FileNameExt)