"Fossies" - the Fresh Open Source Software Archive

Member "highlight-3.57-x64/langDefs/exapunks.lang" (12 May 2020, 3562 Bytes) of package /windows/www/highlight-3.57-x64.zip:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 --////////////// || 1.0.1:19.04.25:HL3.50:Lua5.3 || by Tristano Ajmone:
    2 --// EXAPUNKS // || EXA Virtual Machine Language || https://github.com/tajmone
    3 --////////////// || www.zachtronics.com/exapunks || http://unlicense.org/
    4 --------------------------------------------------------------------------------
    5 Description = "EXAPUNKS"  Categories = {"assembly", "fictional"}
    6 IgnoreCase  = true        EnableIndentation = false --[[
    7 --------------------------------------------------------------------------------
    8 EXA code is the fictional Assembly language used in the EXAPUNKS video game to
    9 program EXAs (EXecution Agents) and the TEC Redshift Player game console.
   10 
   11 The Redshift Player console from the EXAPUNK game can be donwloaded freely from
   12 Steam, to play Redshift games created by other EXAPUNKS players:
   13 
   14     https://store.steampowered.com/app/948420/EXAPUNKS_TEC_Redshift_Player/
   15 --------------------------------------------------------------------------------
   16 There is no official file extension for EXA files, but the following are common:
   17     .exapunks
   18     .exa
   19 --------------------------------------------------------------------------------
   20 Shebang:  @jwortmann, in his SublimeText syntax, proposed using the following
   21           pattern for autodetection on the first line:
   22 
   23           ^(?i:NOTE\sEXAPUNKS)\b
   24 
   25 See: https://github.com/jwortmann/exapunks-syntax
   26 ------------------------------------------------------------------------------]]
   27 Comments = {{
   28   Block=false,
   29   Nested=false,
   30   Delimiter = { [[ (?i:;|NOTE) ]] }}} -->  ';' or 'NOTE'
   31 Operators = [=[ (>|<|\=) ]=]          -->  '<' '>' '='
   32 Digits    = [=[ (\-?\d{1,4})\b ]=]    -->  Clamp x4. Inc. '-'
   33 Keywords = {{
   34   ------------------------------------------------------------------------------
   35   Id = 1, List = {                                       -- EXA Instructions | 1
   36   ------------------------------------------------------------------------------
   37     "addi", "copy", "divi", "drop", "eof",  "file", "fjmp", "grab", "halt",
   38     "host", "jump", "kill", "link", "make", "mark", "mode", "modi", "mrd",
   39     "muli", "noop", "rand", "repl", "seek", "subi", "swiz", "test", "tjmp",
   40     "void", "wipe", -- additional instructions for Redshift Homebrew:
   41     "wait", "data" }},{
   42   ------------------------------------------------------------------------------
   43   Id = 2, List = {   "x", "t", "f", "m"   }},{              -- EXA Registers | 2
   44   ------------------------------------------------------------------------------
   45   Id = 3,                                              -- Hardware Registers | 3
   46   ------------------------------------------------------------------------------
   47     Regex = [=[ (#[\w]+) ]=],
   48     Group = 1 },{
   49   ------------------------------------------------------------------------------
   50   Id = 4,                                                          -- Labels | 4
   51   ------------------------------------------------------------------------------
   52   -- Consider a label any token following MARK, JUMP, TJMP or FJMP.
   53     Regex = [=[ ^(?i)(mark|jump|[ft]jmp)\s*(\w+) ]=],
   54     Group = 2 },{
   55   ------------------------------------------------------------------------------
   56   Id = 5,                                                          -- Macros | 5
   57   ------------------------------------------------------------------------------
   58     Regex = [=[ (?i)(@(rep|end|\{)|,|})  ]=], -- '@REP'  '@END' '@{' ',' '}'
   59     Group = 1 }}
   60 
   61 --[[ CHANGELOG
   62 1.0.1 (2019/04/25) Highlight 3.50
   63   - Amend comments descriptions.
   64 
   65 1.0.0 (2019/04/13) Highlight 3.50
   66   - First release
   67 
   68 --]]