text/x-gcl
    *.gcl
    {
    }
  
  
    
    
    
    
    
    
    
    
    
    
    
  
  
    
       (if[<>]=?0|if<>0|if=0)(loop)?
    
    
       else
       do
       loop
       def
       ret
       push
       pop
       call
    
    
       gcl0x
       gcl1
    
    
    
      (?<![a-zA-Z])[+-]?([$][0-9a-fA-F)]+|\d+)(?![#:0-9a-fA-F])
    
    
      ([$][0-9a-fA-F)]+|\d+)#
    
    
      ^([$][0-9a-fA-F)]+|\d+):
    
    
       \+
       -
       =
       <
       >
       !
       %
       &
       \^
       |
    
    
      ([a-zA-Z][a-zA-Z0-9]+)
    
    
      `
       
    
    
     
        [\\](
        bootCount|
        bootCheck|
        xout|
        romTypeValue_ROMv1|
        romTypeValue_ROMv2|
        romTypeValue_ROMv3|
        romTypeValue_ROMv4|
        romTypeValue_DEVROM|
        zeroConst|
        memSize|
        entropy|
        videoY|
        frameCount|
        serialRaw|
        buttonState|
        xoutMask|
        vPC|
        vAC|
        vLR|
        vSP|
        romType|
        channelMask_v4|
        sysFn|
        sysArgs[0-7]|
        soundTimer|
        ledState_v2|
        ledTempo|
        userVars|
        oneConst|
        userVars2|
        v6502_PC|
        v6502_PCL|
        v6502_PCH|
        v6502_A|
        v6502_X|
        v6502_Y|
        videoTable|
        vReset|
        userCode|
        soundTable|
        screenMemory|
        channel1|
        channel2|
        channel3|
        channel4|
        wavA|
        wavX|
        keyL|
        keyH|
        oscL|
        oscH|
        buttonRight|
        buttonLeft|
        buttonDown|
        buttonUp|
        buttonStart|
        buttonSelect|
        buttonB|
        buttonA|
        maxTicks|
        LDWI|
        LD|
        LDW|
        STW|
        BCC|
        EQ|
        GT|
        LT|
        GE|
        LE|
        LDI|
        ST|
        POP|
        NE|
        PUSH|
        LUP|
        ANDI|
        ORI|
        XORI|
        BRA|
        INC|
        ADDW|
        PEEK|
        SYS|
        SUBW|
        DEF|
        CALL|
        ALLOC|
        ADDI|
        SUBI|
        LSLW|
        STLW|
        LDLW|
        POKE|
        DOKE|
        DEEK|
        ANDW|
        ORW|
        XORW|
        RET|
        HALT|
        SYS_Exec_88|
        SYS_Out_22|
        SYS_In_24|
        SYS_Random_34|
        SYS_LSRW7_30|
        SYS_LSRW8_24|
        SYS_LSLW8_24|
        SYS_Draw4_30|
        SYS_VDrawBits_134|
        SYS_LSRW1_48|
        SYS_LSRW2_52|
        SYS_LSRW3_52|
        SYS_LSRW4_50|
        SYS_LSRW5_50|
        SYS_LSRW6_48|
        SYS_LSLW4_46|
        SYS_Read3_40|
        SYS_Unpack_56|
        font32up|
        font82up|
        notesTable|
        invTable|
        SYS_SetMode_v2_80|
        SYS_SetMemory_v2_54|
        SYS_SendSerial1_v3_80|
        SYS_ExpanderControl_v4_40|
        SYS_Run6502_v4_80|
        SYS_ResetWaveforms_v4_50|
        SYS_ShuffleNoise_v4_46|
        SYS_SpiExchangeBytes_v4_134|
        SYS_Sprite6_v3_64|
        SYS_Sprite6x_v3_64|
        SYS_Sprite6y_v3_64|
        SYS_Sprite6xy_v3_64|
        SYS_LoaderPayloadCopy_34|
        SYS_LoaderNextByteIn_32)
      
    
    
      \[
      \]