Skip to content

Instantly share code, notes, and snippets.

View dockimbel's full-sized avatar

Nenad Rakocevic dockimbel

View GitHub Profile
* PROLOG: when entering a function.
* EPILOG: when exiting a function.
* ENTER: when a block is about to be evaluated.
* EXIT: when current evaluated block's end has been reached.
* OPEN: when a new function (any-function!) call is pushed on stack and a new stack frame is opened.
* RETURN: when a function call has returned and its stack frame has been closed.
* FETCH: a value is read from the input block to be evaluated.
* PUSH: a value has been pushed on the stack.
* SET: a set-word is set to a value.
@dockimbel
dockimbel / surprise-msg.red
Last active August 15, 2019 21:47
Red generator for encoded messaged
Red [
Purpose: {
Red generator for encoded messaged as in:
http://www.rebol.com/oneliners.html#section-17
}
]
gen-hack: function [secret [string!]][
;-- First build a list of integers from 1 to the last index of the secret string
table: collect [repeat i len: length? secret [keep i]]
@dockimbel
dockimbel / redbox-joypad.red
Last active July 18, 2019 17:31
Rebox game in Red with gpio-powered joypad. Asset files: https://github.com/hyzwhu/redbox
Red [
Needs: View
Title: "red-box"
Author: "Huang Yongzhao"
File: %redbox.red
Tabs: 4
Version: "Alpha"
Purpose: "Famous BoxWorld! game ported to red"
Rights: "Copyright (C) 2015-2018 Red Foundation. All rights reserved."
License: {
@dockimbel
dockimbel / rloc.red
Last active January 11, 2019 09:26
Lines of code statistics from Red files
Red [
Title: "Lines of code statistics from Red files"
Author: "Nenad Rakocevic"
File: %rloc.reds
Tabs: 4
Purpose: {
Counts the number of files, lines of code and inline comments in Red/Rebol files, across folders,
filtering files using a list of suffixes and excluding files from a given list of subfolders.
}
]
@dockimbel
dockimbel / check-brackets.red
Last active January 4, 2019 20:24
PoC script for checking if brackets/parens are matching in a Red file
Red [
Purpose: "PoC script for checking if brackets/parens are matching in a Red file"
]
check-brackets: function [file [file!]][
line: 1
stack: clear []
skip-chars: complement charset "[]()^/"
parse read file [
Verifying my identity on Peepeth.com 0x1e33e78b9fc22c63740b0ed0cd441acbac5109f2
@dockimbel
dockimbel / get-arguments.red
Last active October 4, 2018 04:46
Extracting current stack frame values using R/S.
Red []
get-arguments: routine [
/local
list [red-block!]
s [red-value!]
t [red-value!]
top
][
top: stack/ctop - 3 ;-- might need adjustments depending on interpreted vs compiled code.
@dockimbel
dockimbel / draw-text-area.red
Created May 18, 2018 16:23
Mixes drawing with text in area widget
Red [
Note: "from: https://gitter.im/red/red/gui-branch?at=5afc55a05a1d895fae45588e"
]
view [
area 200x100 focus wrap
at 10x10 base 255.255.255.254 200x100 all-over
draw [line-width 20 pen 200.50.50.200]
on-down [repend face/draw ['line event/offset event/offset]]
on-over [if event/down? [change back tail face/draw event/offset]]
@dockimbel
dockimbel / int256.red
Last active April 11, 2018 23:20
256-bit unsigned integer library
Red [
Title: "256-bit unsigned integer library"
Author: "Nenad Rakocevic"
File: %int256.red
Tabs: 4
Rights: "Copyright (C) 2018 Red Foundation. All rights reserved."
License: {
Distributed under the Boost Software License, Version 1.0.
See https://github.com/red/red/blob/master/BSL-License.txt
}
@dockimbel
dockimbel / tiger.red
Last active April 3, 2018 12:36
SVG Tiger's vector data in Draw dialect
Red [
Purpose: "Tiger vector data in Draw dialect (from SVG)"
File: %tiger.red
Author: "Zamlox"
Tabs: 4
Rights: "Copyright (C) 2013-2017 Nenad Rakocevic. All rights reserved."
License: {
Distributed under the Boost Software License, Version 1.0.
See https://github.com/red/red/blob/master/BSL-License.txt
}