Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  idl.py   Sprache: Python

 
"""
    pygments.lexers.idl
    ~~~~~~~~~~~~~~~~~~~

    Lexers for IDL.

    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
"""

import re

from pygments.lexer import RegexLexer, words, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
    String, Whitespace

__all__ = ['IDLLexer']


class IDLLexer(RegexLexer):
    """
    Pygments Lexer for IDL (Interactive Data Language).
    """
    name = 'IDL'
    url = 'https://www.l3harrisgeospatial.com/Software-Technology/IDL'
    aliases = ['idl']
    filenames = ['*.pro']
    mimetypes = ['text/idl']
    version_added = '1.6'

    flags = re.IGNORECASE | re.MULTILINE

    _RESERVED = (
        'and''begin''break''case''common''compile_opt',
        'continue''do''else''end''endcase''endelse',
        'endfor''endforeach''endif''endrep''endswitch',
        'endwhile''eq''for''foreach''forward_function',
        'function''ge''goto''gt''if''inherits''le',
        'lt''mod''ne''not''of''on_ioerror''or''pro',
        'repeat''switch''then''until''while''xor')
    """Reserved words from: http://www.exelisvis.com/docs/reswords.html"""

    _BUILTIN_LIB = (
        'abs''acos''adapt_hist_equal''alog''alog10',
        'amoeba''annotate''app_user_dir''app_user_dir_query',
        'arg_present''array_equal''array_indices''arrow',
        'ascii_template''asin''assoc''atan''axis',
        'a_correlate''bandpass_filter''bandreject_filter',
        'barplot''bar_plot''beseli''beselj''beselk',
        'besely''beta''bilinear''binary_template''bindgen',
        'binomial''bin_date''bit_ffs''bit_population',
        'blas_axpy''blk_con''box_cursor''breakpoint',
        'broyden''butterworth''bytarr''byte''byteorder',
        'bytscl''caldat''calendar''call_external',
        'call_function''call_method''call_procedure''canny',
        'catch''cd', r'cdf_\w*''ceil''chebyshev',
        'check_math',
        'chisqr_cvf''chisqr_pdf''choldc''cholsol''cindgen',
        'cir_3pnt''close''cluster''cluster_tree''clust_wts',
        'cmyk_convert''colorbar''colorize_sample',
        'colormap_applicable''colormap_gradient',
        'colormap_rotation''colortable''color_convert',
        'color_exchange''color_quan''color_range_map''comfit',
        'command_line_args''complex''complexarr''complexround',
        'compute_mesh_normals''cond''congrid''conj',
        'constrained_min''contour''convert_coord''convol',
        'convol_fft''coord2to3''copy_lun''correlate''cos',
        'cosh''cpu''cramer''create_cursor''create_struct',
        'create_view''crossp''crvlength''cti_test',
        'ct_luminance''cursor''curvefit''cvttobm''cv_coord',
        'cw_animate''cw_animate_getp''cw_animate_load',
        'cw_animate_run''cw_arcball''cw_bgroup''cw_clr_index',
        'cw_colorsel''cw_defroi''cw_field''cw_filesel',
        'cw_form''cw_fslider''cw_light_editor',
        'cw_light_editor_get''cw_light_editor_set''cw_orient',
        'cw_palette_editor''cw_palette_editor_get',
        'cw_palette_editor_set''cw_pdmenu''cw_rgbslider',
        'cw_tmpl''cw_zoom''c_correlate''dblarr''db_exists',
        'dcindgen''dcomplex''dcomplexarr''define_key',
        'define_msgblk''define_msgblk_from_file''defroi',
        'defsysv''delvar''dendrogram''dendro_plot''deriv',
        'derivsig''determ''device''dfpmin''diag_matrix',
        'dialog_dbconnect''dialog_message''dialog_pickfile',
        'dialog_printersetup''dialog_printjob',
        'dialog_read_image''dialog_write_image''digital_filter',
        'dilate''dindgen''dissolve''dist''distance_measure',
        'dlm_load''dlm_register''doc_library''double',
        'draw_roi''edge_dog''efont''eigenql''eigenvec',
        'ellipse''elmhes''emboss''empty''enable_sysrtn',
        'eof', r'eos_\w*''erase''erf''erfc''erfcx',
        'erode''errorplot''errplot''estimator_filter',
        'execute''exit''exp''expand''expand_path''expint',
        'extrac''extract_slice''factorial''fft''filepath',
        'file_basename''file_chmod''file_copy''file_delete',
        'file_dirname''file_expand_path''file_info',
        'file_lines''file_link''file_mkdir''file_move',
        'file_poll_input''file_readlink''file_same',
        'file_search''file_test''file_which''findgen',
        'finite''fix''flick''float''floor''flow3',
        'fltarr''flush''format_axis_values''free_lun',
        'fstat''fulstr''funct''fv_test''fx_root',
        'fz_roots''f_cvf''f_pdf''gamma''gamma_ct',
        'gauss2dfit''gaussfit''gaussian_function''gaussint',
        'gauss_cvf''gauss_pdf''gauss_smooth''getenv',
        'getwindows''get_drive_list''get_dxf_objects',
        'get_kbrd''get_login_info''get_lun''get_screen_size',
        'greg2jul', r'grib_\w*''grid3''griddata',
        'grid_input''grid_tps''gs_iter',
        r'h5[adfgirst]_\w*''h5_browser''h5_close',
        'h5_create''h5_get_libversion''h5_open''h5_parse',
        'hanning''hash', r'hdf_\w*''heap_free',
        'heap_gc''heap_nosave''heap_refcount''heap_save',
        'help''hilbert''histogram''hist_2d''hist_equal',
        'hls''hough''hqr''hsv''h_eq_ct''h_eq_int',
        'i18n_multibytetoutf8''i18n_multibytetowidechar',
        'i18n_utf8tomultibyte''i18n_widechartomultibyte',
        'ibeta''icontour''iconvertcoord''idelete''identity',
        'idlexbr_assistant''idlitsys_createtool''idl_base64',
        'idl_validname''iellipse''igamma''igetcurrent',
        'igetdata''igetid''igetproperty''iimage''image',
        'image_cont''image_statistics''imaginary''imap',
        'indgen''intarr''interpol''interpolate',
        'interval_volume''int_2d''int_3d''int_tabulated',
        'invert''ioctl''iopen''iplot''ipolygon',
        'ipolyline''iputdata''iregister''ireset''iresolve',
        'irotate''ir_filter''isa''isave''iscale',
        'isetcurrent''isetproperty''ishft''isocontour',
        'isosurface''isurface''itext''itranslate''ivector',
        'ivolume''izoom''i_beta''journal''json_parse',
        'json_serialize''jul2greg''julday''keyword_set',
        'krig2d''kurtosis''kw_test''l64indgen''label_date',
        'label_region''ladfit''laguerre''laplacian',
        'la_choldc''la_cholmprove''la_cholsol''la_determ',
        'la_eigenproblem''la_eigenql''la_eigenvec''la_elmhes',
        'la_gm_linear_model''la_hqr''la_invert',
        'la_least_squares''la_least_square_equality',
        'la_linear_equation''la_ludc''la_lumprove''la_lusol',
        'la_svd''la_tridc''la_trimprove''la_triql',
        'la_trired''la_trisol''least_squares_filter''leefilt',
        'legend''legendre''linbcg''lindgen''linfit',
        'linkimage''list''ll_arc_distance''lmfit''lmgr',
        'lngamma''lnp_test''loadct''locale_get',
        'logical_and''logical_or''logical_true''lon64arr',
        'lonarr''long''long64''lsode''ludc''lumprove',
        'lusol''lu_complex''machar''make_array''make_dll',
        'make_rt''map''mapcontinents''mapgrid''map_2points',
        'map_continents''map_grid''map_image''map_patch',
        'map_proj_forward''map_proj_image''map_proj_info',
        'map_proj_init''map_proj_inverse''map_set',
        'matrix_multiply''matrix_power''max''md_test',
        'mean''meanabsdev''mean_filter''median''memory',
        'mesh_clip''mesh_decimate''mesh_issolid''mesh_merge',
        'mesh_numtriangles''mesh_obj''mesh_smooth',
        'mesh_surfacearea''mesh_validate''mesh_volume',
        'message''min''min_curve_surf''mk_html_help',
        'modifyct''moment''morph_close''morph_distance',
        'morph_gradient''morph_hitormiss''morph_open',
        'morph_thin''morph_tophat''multi''m_correlate',
        r'ncdf_\w*''newton''noise_hurl''noise_pick',
        'noise_scatter''noise_slur''norm''n_elements',
        'n_params''n_tags''objarr''obj_class''obj_destroy',
        'obj_hasmethod''obj_isa''obj_new''obj_valid',
        'online_help''on_error''open''oplot''oploterr',
        'parse_url''particle_trace''path_cache''path_sep',
        'pcomp''plot''plot3d''ploterr''plots''plot_3dbox',
        'plot_field''pnt_line''point_lun''polarplot',
        'polar_contour''polar_surface''poly''polyfill',
        'polyfillv''polygon''polyline''polyshade''polywarp',
        'poly_2d''poly_area''poly_fit''popd''powell',
        'pref_commit''pref_get''pref_set''prewitt''primes',
        'print''printd''product''profile''profiler',
        'profiles''project_vol''psafm''pseudo',
        'ps_show_fonts''ptrarr''ptr_free''ptr_new',
        'ptr_valid''pushd''p_correlate''qgrid3''qhull',
        'qromb''qromo''qsimp''query_ascii''query_bmp',
        'query_csv''query_dicom''query_gif''query_image',
        'query_jpeg''query_jpeg2000''query_mrsid''query_pict',
        'query_png''query_ppm''query_srf''query_tiff',
        'query_wav''radon''randomn''randomu''ranks',
        'rdpix''read''reads''readu''read_ascii',
        'read_binary''read_bmp''read_csv''read_dicom',
        'read_gif''read_image''read_interfile''read_jpeg',
        'read_jpeg2000''read_mrsid''read_pict''read_png',
        'read_ppm''read_spr''read_srf''read_sylk',
        'read_tiff''read_wav''read_wave''read_x11_bitmap',
        'read_xwd''real_part''rebin''recall_commands',
        'recon3''reduce_colors''reform''region_grow',
        'register_cursor''regress''replicate',
        'replicate_inplace''resolve_all''resolve_routine',
        'restore''retall''return''reverse''rk4''roberts',
        'rot''rotate''round''routine_filepath',
        'routine_info''rs_test''r_correlate''r_test',
        'save''savgol''scale3''scale3d''scope_level',
        'scope_traceback''scope_varfetch''scope_varname',
        'search2d''search3d''sem_create''sem_delete',
        'sem_lock''sem_release''setenv''set_plot',
        'set_shading''sfit''shade_surf''shade_surf_irr',
        'shade_volume''shift''shift_diff''shmdebug''shmmap',
        'shmunmap''shmvar''show3''showfont''simplex''sin',
        'sindgen''sinh''size''skewness''skip_lun',
        'slicer3''slide_image''smooth''sobel''socket',
        'sort''spawn''spher_harm''sph_4pnt''sph_scat',
        'spline''spline_p''spl_init''spl_interp''sprsab',
        'sprsax''sprsin''sprstp''sqrt''standardize',
        'stddev''stop''strarr''strcmp''strcompress',
        'streamline''stregex''stretch''string''strjoin',
        'strlen''strlowcase''strmatch''strmessage''strmid',
        'strpos''strput''strsplit''strtrim''struct_assign',
        'struct_hide''strupcase''surface''surfr''svdc',
        'svdfit''svsol''swap_endian''swap_endian_inplace',
        'symbol''systime''s_test''t3d''tag_names''tan',
        'tanh''tek_color''temporary''tetra_clip',
        'tetra_surface''tetra_volume''text''thin''threed',
        'timegen''time_test2''tm_test''total''trace',
        'transpose''triangulate''trigrid''triql''trired',
        'trisol''tri_surf''truncate_lun''ts_coef''ts_diff',
        'ts_fcast''ts_smooth''tv''tvcrs''tvlct''tvrd',
        'tvscl''typename''t_cvt''t_pdf''uindgen''uint',
        'uintarr''ul64indgen''ulindgen''ulon64arr''ulonarr',
        'ulong''ulong64''uniq''unsharp_mask''usersym',
        'value_locate''variance''vector''vector_field''vel',
        'velovect''vert_t3d''voigt''voronoi''voxel_proj',
        'wait''warp_tri''watershed''wdelete''wf_draw',
        'where''widget_base''widget_button''widget_combobox',
        'widget_control''widget_displaycontextmen''widget_draw',
        'widget_droplist''widget_event''widget_info',
        'widget_label''widget_list''widget_propertysheet',
        'widget_slider''widget_tab''widget_table',
        'widget_text''widget_tree''widget_tree_move',
        'widget_window''wiener_filter''window''writeu',
        'write_bmp''write_csv''write_gif''write_image',
        'write_jpeg''write_jpeg2000''write_nrif''write_pict',
        'write_png''write_ppm''write_spr''write_srf',
        'write_sylk''write_tiff''write_wav''write_wave',
        'wset''wshow''wtn''wv_applet''wv_cwt',
        'wv_cw_wavelet''wv_denoise''wv_dwt''wv_fn_coiflet',
        'wv_fn_daubechies''wv_fn_gaussian''wv_fn_haar',
        'wv_fn_morlet''wv_fn_paul''wv_fn_symlet',
        'wv_import_data''wv_import_wavelet''wv_plot3d_wps',
        'wv_plot_multires''wv_pwt''wv_tool_denoise',
        'xbm_edit''xdisplayfile''xdxf''xfont',
        'xinteranimate''xloadct''xmanager''xmng_tmpl',
        'xmtool''xobjview''xobjview_rotate',
        'xobjview_write_image''xpalette''xpcolor''xplot3d',
        'xregistered''xroi''xsq_test''xsurface''xvaredit',
        'xvolume''xvolume_rotate''xvolume_write_image',
        'xyouts''zoom''zoom_24')
    """Functions from: http://www.exelisvis.com/docs/routines-1.html"""

    tokens = {
        'root': [
            (r'(^\s*)(;.*?)(\n)', bygroups(Whitespace, Comment.Single,
                Whitespace)),
            (words(_RESERVED, prefix=r'\b', suffix=r'\b'), Keyword),
            (words(_BUILTIN_LIB, prefix=r'\b', suffix=r'\b'), Name.Builtin),
            (r'\+=|-=|\^=|\*=|/=|#=|##=|<=|>=|=', Operator),
            (r'\+\+|--|->|\+|-|##|#|\*|/|<|>|&&|\^|~|\|\|\?|:', Operator),
            (r'\b(mod=|lt=|le=|eq=|ne=|ge=|gt=|not=|and=|or=|xor=)', Operator),
            (r'\b(mod|lt|le|eq|ne|ge|gt|not|and|or|xor)\b', Operator),
            (r'"[^\"]*"', String.Double),
            (r"'[^\']*'", String.Single),
            (r'\b[+\-]?([0-9]*\.[0-9]+|[0-9]+\.[0-9]*)(D|E)?([+\-]?[0-9]+)?\b',
             Number.Float),
            (r'\b\'[+\-]?[0-9A-F]+\'X(U?(S?|L{1,2})|B)\b', Number.Hex),
            (r'\b\'[+\-]?[0-7]+\'O(U?(S?|L{1,2})|B)\b', Number.Oct),
            (r'\b[+\-]?[0-9]+U?L{1,2}\b', Number.Integer.Long),
            (r'\b[+\-]?[0-9]+U?S?\b', Number.Integer),
            (r'\b[+\-]?[0-9]+B\b', Number),
            (r'[ \t]+', Whitespace),
            (r'\n', Whitespace),
            (r'.', Text),
        ]
    }

    def analyse_text(text):
        """endelse seems to be unique to IDL, endswitch is rare at least."""
        result = 0

        if 'endelse' in text:
            result += 0.2
        if 'endswitch' in text:
            result += 0.01

        return result

Messung V0.5
C=95 H=90 G=92

¤ Dauer der Verarbeitung: 0.5 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge