1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
#include "ThemeImporterFortran.hpp"
ThemeImporterFortran::ThemeImporterFortran()
{
SetKeywords0("access action advance allocatable allocate apostrophe assign assignment associate asynchronous "
"backspace bind blank blockdata call case character class close common complex contains continue "
"cycle data deallocate decimal delim default dimension direct do dowhile double doubleprecision else "
" elseif elsewhere encoding end endassociate endblockdata enddo endfile endforall endfunction endif "
"endinterface endmodule endprogram endselect endsubroutine endtype endwhere entry eor equivalence "
"err errmsg exist exit external file flush fmt forall form format formatted function go goto id if "
"implicit in include inout integer inquire intent interface intrinsic iomsg iolength iostat kind "
"len logical module name named namelist nextrec nml none nullify number only open opened operator "
"optional out pad parameter pass pause pending pointer pos position precision print private program "
"protected public quote read readwrite real rec recl recursive result return rewind save select "
"selectcase selecttype sequential sign size stat status stop stream subroutine target then to type "
"unformatted unit use value volatile wait where while write");
SetKeywords1(
"abs achar acos acosd adjustl adjustr aimag aimax0 aimin0 aint ajmax0 ajmin0 akmax0 akmin0 all allocated alog "
" alog10 amax0 amax1 amin0 amin1 amod anint any asin asind associated atan atan2 atan2d atand bitest bitl "
"bitlr bitrl bjtest bit_size bktest break btest cabs ccos cdabs cdcos cdexp cdlog cdsin cdsqrt ceiling cexp "
"char clog cmplx conjg cos cosd cosh count cpu_time cshift csin csqrt dabs dacos dacosd dasin dasind datan "
"datan2 datan2d datand date date_and_time dble dcmplx dconjg dcos dcosd dcosh dcotan ddim dexp dfloat dflotk "
"dfloti dflotj digits dim dimag dint dlog dlog10 dmax1 dmin1 dmod dnint dot_product dprod dreal dsign dsin "
"dsind dsinh dsqrt dtan dtand dtanh eoshift epsilon errsns exp exponent float floati floatj floatk floor "
"fraction free huge iabs iachar iand ibclr ibits ibset ichar idate idim idint idnint ieor ifix iiabs iiand "
"iibclr iibits iibset iidim iidint iidnnt iieor iifix iint iior iiqint iiqnnt iishft iishftc iisign ilen "
"imax0 imax1 imin0 imin1 imod index inint inot int int1 int2 int4 int8 iqint iqnint ior ishft ishftc isign "
"isnan izext jiand jibclr jibits jibset jidim jidint jidnnt jieor jifix jint jior jiqint jiqnnt jishft "
"jishftc jisign jmax0 jmax1 jmin0 jmin1 jmod jnint jnot jzext kiabs kiand kibclr kibits kibset kidim kidint "
"kidnnt kieor kifix kind kint kior kishft kishftc kisign kmax0 kmax1 kmin0 kmin1 kmod knint knot kzext "
"lbound leadz len len_trim lenlge lge lgt lle llt log log10 logical lshift malloc matmul max max0 max1 "
"maxexponent maxloc maxval merge min min0 min1 minexponent minloc minval mod modulo mvbits nearest nint not "
"nworkers number_of_processors pack popcnt poppar precision present product radix random random_number "
"random_seed range real repeat reshape rrspacing rshift scale scan secnds selected_int_kind "
"selected_real_kind set_exponent shape sign sin sind sinh size sizeof sngl snglq spacing spread sqrt sum "
"system_clock tan tand tanh tiny transfer transpose trim ubound unpack verify");
SetKeywords2("cdabs cdcos cdexp cdlog cdsin cdsqrt cotan cotand dcmplx dconjg dcotan dcotand decode dimag "
"dll_export dll_import doublecomplex dreal dvchk encode find flen flush getarg getcharqq getcl "
"getdat getenv gettim hfix ibchng identifier imag int1 int2 int4 intc intrup invalop iostat_msg isha "
"ishc ishl jfix lacfar locking locnear map nargs nbreak ndperr ndpexc offset ovefl peekcharqq "
"precfill prompt qabs qacos qacosd qasin qasind qatan qatand qatan2 qcmplx qconjg qcos qcosd qcosh "
"qdim qexp qext qextd qfloat qimag qlog qlog10 qmax1 qmin1 qmod qreal qsign qsin qsind qsinh qsqrt "
"qtan qtand qtanh ran rand randu rewrite segment setdat settim system timer undfl unlock union val "
"virtual volatile zabs zcos zexp zlog zsin zsqrt");
SetFileExtensions("*f;*.f90");
m_langName = "fortran";
}
ThemeImporterFortran::~ThemeImporterFortran() {}
LexerConf::Ptr_t ThemeImporterFortran::Import(const wxFileName& theme_file)
{
LexerConf::Ptr_t lexer = InitializeImport(theme_file, GetLangName(), wxSTC_LEX_FORTRAN);
AddProperty(lexer, wxSTC_F_DEFAULT, "Default", m_editor);
AddProperty(lexer, wxSTC_F_COMMENT, "Comment", m_singleLineComment);
AddProperty(lexer, wxSTC_F_NUMBER, "Number", m_number);
AddProperty(lexer, wxSTC_F_STRING1, "String 1", m_string);
AddProperty(lexer, wxSTC_F_STRING2, "String 2", m_string);
AddProperty(lexer, wxSTC_F_STRING2, "String 3", m_string);
AddProperty(lexer, wxSTC_F_OPERATOR, "Operator", m_oper);
AddProperty(lexer, wxSTC_F_IDENTIFIER, "Identifier", m_editor);
AddProperty(lexer, wxSTC_F_WORD, "Word", m_keyword);
AddProperty(lexer, wxSTC_F_WORD2, "Word 2", m_keyword);
AddProperty(lexer, wxSTC_F_WORD3, "Word 3", m_keyword);
AddProperty(lexer, wxSTC_F_PREPROCESSOR, "Pre processor", m_keyword);
AddProperty(lexer, wxSTC_F_OPERATOR2, "Operator 2", m_oper);
AddProperty(lexer, wxSTC_F_LABEL, "Label", m_oper);
AddProperty(lexer, wxSTC_F_CONTINUATION, "Continuation", m_editor);
FinalizeImport(lexer);
return lexer;
}
|