aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/lexer.tes
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2014-11-19 23:36:07 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2014-11-19 23:36:07 +0100
commitd4f8fb3efcb60cc2cd39ecb7ca65706db4c7b6ad (patch)
tree311722b240136da481c7445df4a1fa3ec7325e58 /lib/lexer.tes
parent8f20c809292b8318b921e611b1ec3811f757dc11 (diff)
downloadsciteco-d4f8fb3efcb60cc2cd39ecb7ca65706db4c7b6ad.tar.gz
added first draft of new modular lexer system
Diffstat (limited to 'lib/lexer.tes')
-rw-r--r--lib/lexer.tes250
1 files changed, 18 insertions, 232 deletions
diff --git a/lib/lexer.tes b/lib/lexer.tes
index 5f5a09c..de73d5c 100644
--- a/lib/lexer.tes
+++ b/lib/lexer.tes
@@ -1,237 +1,23 @@
! Lexer configuration and styles (ED hook) !
-[_ U.0 Q.0Oadd,edit,close,quit
+@[lexer.auto]{
+ ! Set up brace lightning !
+ :M[color.bracelight],34M[color.set]
+ :M[color.error],35M[color.set]
-!add!
-! black, red, green, yellow, blue, magenta, cyan, white !
-@.c{
- U.c ((Q.c&1)*255) # ((Q.c/2 & 1)*255*256) # ((Q.c/4 & 1)*255*256*256)
+ Q*U.f EQ* HX.f :.f EQ.f
}
-! <bold,bg,fg,style>M.r !
-@.r{
- U.sU.vU.bU.h
- Q.v:M.c,Q.sESSTYLESETFORE
- Q.b:M.c,Q.sESSTYLESETBACK
- Q.h,Q.sESSTYLESETBOLD
-}
-
-! Bracelight ! 0,7,0,34:M.r
-! Bracebad ! 1,0,1,35:M.r
-
-EQ* HX.f EQ.f ZJ i J
-
-! C/C++ !
-:S.[c,cc,cpp,cxx,h,hh,hpp,hxx,ipp,m,mm,sma]"S
- -D EBQ.f
- ESSETLEXER,SCLEX_CPP
- 0ESSETKEYWORDS
- and and_eq asm auto bitand bitor bool break
- case catch char class compl const const_cast continue
- default delete do double dynamic_cast else enum explicit export extern false float for
- friend goto if inline int long mutable namespace new not not_eq
- operator or or_eq private protected public
- register reinterpret_cast return short signed sizeof static static_cast struct switch
- template this throw true try typedef typeid typename union unsigned using
- virtual void volatile wchar_t while xor xor_eq
- ! Doxygen keywords !
- 2ESSETKEYWORDS
- a addindex addtogroup anchor arg attention
- author b brief bug c class code date def defgroup deprecated dontinclude
- e em endcode endhtmlonly endif endlatexonly endlink endverbatim enum example exception
- f$ f[ f] file fn hideinitializer htmlinclude htmlonly
- if image include ingroup internal invariant interface latexonly li line link
- mainpage name namespace nosubgrouping note overload
- p page par param post pre ref relates remarks return retval
- sa section see showinitializer since skip skipline struct subsection
- test throw todo typedef union until
- var verbatim verbinclude version warning weakgroup $ @ \ & < > # { }
- ! Comments ! 1,0,0,1:M.r 1,0,0,2:M.r 1,0,0,3:M.r
- ! Number ! 0,0,6,4:M.r
- ! Keywords ! 1,0,7,5:M.r
- ! Strings ! 0,0,2,6:M.r 0,0,2,7:M.r
- ! Preprocessor ! 0,0,5,9:M.r
- ! Operators ! 0,0,3,10:M.r
-Oedit'
-
-:S[makefile,.mak]"S
- -D EBQ.f
- ESSETLEXER,SCLEX_MAKEFILE
- ! Comments ! 1,0,0,1:M.r
- ! Preprocessor ! 0,0,5,2:M.r
- ! Variables ! 1,0,4,3:M.r
- ! Operators ! 0,0,3,4:M.r
- ! Target ! 1,0,3,5:M.r
- ! Error ! 1,0,1,6:M.r
-Oedit'
-
-:S[CMakeLists.txt,.cmake,.ctest]"S
- -D EBQ.f
- ESSETLEXER,SCLEX_CMAKE
- ! Commands !
- 0ESSETKEYWORDS
- add_custom_command add_custom_target add_definitions
- add_dependencies add_executable add_library
- add_subdirectory add_test aux_source_directory
- build_command build_name cmake_minimum_required cmake_policy
- configure_file create_test_sourcelist else
- elseif enable_language enable_testing
- endforeach endif endmacro
- endwhile exec_program execute_process
- export_library_dependencies file find_file
- find_library find_package find_path
- find_program fltk_wrap_ui foreach
- get_cmake_property get_directory_property get_filename_component
- get_source_file_property get_target_property get_test_property
- if include include_directories
- include_external_msproject include_regular_expression install
- install_files install_programs install_targets
- link_directories link_libraries list
- load_cache load_command macro
- make_directory mark_as_advanced math
- message option output_required_files
- project qt_wrap_cpp qt_wrap_ui
- remove remove_definitions separate_arguments
- set set_directory_properties set_source_files_properties
- set_target_properties set_tests_properties site_name
- source_group string subdir_depends
- subdirs target_link_libraries try_compile
- try_run use_mangled_mesa utility_source
- variable_requires vtk_make_instantiator vtk_wrap_java
- vtk_wrap_python vtk_wrap_tcl while
- write_file
- ! Special command arguments !
- 1ESSETKEYWORDS
- ABSOLUTE ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ALL AND
- APPEND ARGS ASCII BEFORE CACHE
- CACHE_VARIABLES CLEAR COMMAND COMMANDS COMMAND_NAME
- COMMENT COMPARE COMPILE_FLAGS COPYONLY DEFINED
- DEFINE_SYMBOL DEPENDS DOC EQUAL ESCAPE_QUOTES
- EXCLUDE EXCLUDE_FROM_ALL EXISTS EXPORT_MACRO EXT
- EXTRA_INCLUDE FATAL_ERROR FILE FILES FORCE
- FUNCTION GENERATED GLOB GLOB_RECURSE GREATER
- GROUP_SIZE HEADER_FILE_ONLY HEADER_LOCATION HINTS IMMEDIATE INCLUDES
- INCLUDE_DIRECTORIES INCLUDE_INTERNALS INCLUDE_REGULAR_EXPRESSION LESS LINK_DIRECTORIES
- LINK_FLAGS LOCATION MACOSX_BUNDLE MACROS MAIN_DEPENDENCY
- MAKE_DIRECTORY MATCH MATCHALL MATCHES MODULE
- NAME NAME_WE NOT NOTEQUAL NO_SYSTEM_PATH
- OBJECT_DEPENDS OPTIONAL OR OUTPUT OUTPUT_VARIABLE
- PATH PATHS POST_BUILD POST_INSTALL_SCRIPT PREFIX
- PREORDER PRE_BUILD PRE_INSTALL_SCRIPT PRE_LINK PROGRAM
- PROGRAM_ARGS PROPERTIES QUIET RANGE READ
- REGEX REGULAR_EXPRESSION REPLACE REQUIRED RETURN_VALUE
- RUNTIME_DIRECTORY SEND_ERROR SHARED SOURCES STATIC
- STATUS STREQUAL STRGREATER STRLESS SUFFIX
- TARGET TOLOWER TOUPPER VAR VARIABLES
- VERSION WIN32 WRAP_EXCLUDE WRITE APPLE
- MINGW MSYS CYGWIN BORLAND WATCOM MSVC MSVC_IDE MSVC60
- MSVC70 MSVC71 MSVC80 CMAKE_COMPILER_2005 OFF
- ON
- ! Comments ! 1,0,0,1:M.r
- ! Strings ! 0,0,2,2:M.r 0,0,2,3:M.r 0,0,2,4:M.r
- ! Commands ! 1,0,7,5:M.r
- ! Arguments ! 1,0,4,6:M.r
- ! Variables ! 1,0,2,7:M.r 1,0,2,13:M.r
- ! Numbers ! 0,0,6,14:M.r
-Oedit'
-
-:S.[diff,patch]"S
- -D EBQ.f
- ESSETLEXER,SCLEX_DIFF
- ! Comments ! 1,0,0,1:M.r
- ! Command ! 1,0,7,2:M.r
- ! Source/Dest ! 0,0,4,3:M.r
- ! Position @@ ! 1,0,4,4:M.r
- ! Deletion ! 1,0,1,5:M.r
- ! Addition ! 1,0,2,6:M.r
- ! Change ! 1,0,3,7:M.r
-Oedit'
-
-:S[.sh,.bsh,configure,.ksh]"S
- -D EBQ.f
- ESSETLEXER,SCLEX_BASH
- 0ESSETKEYWORDS
- alias ar asa awk banner basename bash bc bdiff break
- bunzip2 bzip2 cal calendar case cat cc cd chmod cksum
- clear cmp col comm compress continue cp cpio crypt
- csplit ctags cut date dc dd declare deroff dev df diff diff3
- dircmp dirname do done du echo ed egrep elif else env
- esac eval ex exec exit expand export expr false fc
- fgrep fi file find fmt fold for function functions
- getconf getopt getopts grep gres hash head help
- history iconv id if in integer jobs join kill local lc
- let line ln logname look ls m4 mail mailx make
- man mkdir more mt mv newgrp nl nm nohup ntps od
- pack paste patch pathchk pax pcat perl pg pr print
- printf ps pwd read readonly red return rev rm rmdir
- sed select set sh shift size sleep sort spell
- split start stop strings strip stty sum suspend
- sync tail tar tee test then time times touch tr
- trap true tsort tty type typeset ulimit umask unalias
- uname uncompress unexpand uniq unpack unset until
- uudecode uuencode vi vim vpax wait wc whence which
- while who wpaste wstart xargs zcat
-
- chgrp chown chroot dir dircolors
- factor groups hostid install link md5sum mkfifo
- mknod nice pinky printenv ptx readlink seq
- sha1sum shred stat su tac unlink users vdir whoami yes
- ! Error ! 1,0,1,1:M.r
- ! Comments ! 1,0,0,2:M.r
- ! Numbers ! 0,0,6,3:M.r
- ! Keywords ! 1,0,7,4:M.r
- ! Strings ! 0,0,2,5:M.r 0,0,2,6:M.r
- ! Operators ! 0,0,3,7:M.r
- ! Identifiers ! 0,0,4,8:M.r
- ! Variables $ ! 1,0,4,9:M.r 1,0,4,10:M.r
- ! Backticks ! 0,0,2,11:M.r
-Oedit'
-
-:S.[bat,cmd,nt]"S
- -D EBQ.f
- ESSETLEXER,SCLEX_BATCH
- 0ESSETKEYWORDS
- rem set if exist errorlevel for in do
- break call chcp cd chdir choice cls country ctty date del erase dir echo
- exit goto loadfix loadhigh mkdir md move path pause prompt rename ren
- rmdir rd shift time type ver verify vol
- com con lpt nul
- color copy defined else not start
- ! Comments ! 1,0,0,1:M.r
- ! Keywords ! 1,0,7,2:M.r
- ! Labels ! 1,0,1,3:M.r
- ! Hide Cmd @ ! 0,0,5,4:M.r
- ! External Cmd ! 0,0,4,5:M.r
- ! Variables ! 1,0,4,6:M.r
- ! Operators ! 0,0,3,7:M.r
-Oedit'
-
-:S.[xml,xsl,svg,xul,xsd,dtd,xslt,axl,xrc,rdf]"S
- -D EBQ.f
- ESSETLEXER,SCLEX_XML
- 0ESSETKEYWORDS 
- ! DTD keywords !
- 5ESSETKEYWORDSELEMENT DOCTYPE ATTLIST ENTITY NOTATION
- ! Tags ! 1,0,7,1:M.r 1,0,7,2:M.r
- ! Attributes ! 1,0,4,3:M.r 1,0,4,4:M.r
- ! Numbers ! 0,0,6,5:M.r
- ! Strings ! 0,0,2,6:M.r 0,0,2,7:M.r
- ! Comments ! 1,0,0,9:M.r
- ! Entities ! 0,0,5,10:M.r
- ! Tag ends /> ! 1,0,7,11:M.r
- ! PI ! 1,7,0,12:M.r 1,7,0,13:M.r
- ! CDATA ! 0,0,5,14:M.r
-Oedit'
-
-Z-1,ZD EBQ.f
-! fall through !
-
-!edit!
-!close!
-!quit!
-! fall through !
-
-!end!
-! Dispatch to user-defined macro 1 !
-Q.0M1
-]_
+! individual tests are appended by the lexers/*.tes files !
+EMQ[$SCITECOPATH]/lexers/batch.tes
+EMQ[$SCITECOPATH]/lexers/cmake.tes
+EMQ[$SCITECOPATH]/lexers/cpp.tes
+EMQ[$SCITECOPATH]/lexers/make.tes
+EMQ[$SCITECOPATH]/lexers/patch.tes
+EMQ[$SCITECOPATH]/lexers/sh.tes
+EMQ[$SCITECOPATH]/lexers/xml.tes
+
+! append an "end" label !
+@:[lexer.auto]{
+ Q.fEB
+!end!}