REBOL [
Title: "Parse REBOL Source"
Author: "Carl Sassenrath"
File: %parse-source.r
Date: 27-May-2000
Purpose: {Example parser for REBOL source code.}
Category: [script util text 2]
]
parse-source: func [
"Parse REBOL source code."
text /local str new
][
parse text blk-rule: [
some [ ; repeat until done
str:
newline |
#";" thru newline new: (probe copy/part str new) |
[#"[" | #"("] blk-rule |
[#"]" | #")"] |
skip (set [value new] load/next str probe :value) :new
]
]
]
parse-source read %parse-source.r