Hi Bogdan,

That's a cool Idea ! I'm wondering if you wouldn't be better off with 
something like Instaparse <https://github.com/Engelberg/instaparse>.

Cheers,

Jeremys.

On Friday, August 23, 2013 3:37:53 PM UTC+2, Bogdan Opanchuk wrote:
>
> Hi all,
>
> For those who are not familiar with Scribble, it is basically a 
> preprocessor for Racket (a dialect of Lisp) which makes its syntax more 
> concise when working with lots of text, effectively turning it into a 
> template engine (see http://docs.racket-lang.org/scribble/reader.html for 
> details). TLDR: a very small subset of Scribble would transform
>
> @func{text text @other-func{more text} final words.}
>
> to
>
> (func "text text " (other-func "more text") " final words.")
>
> I would like to implement it in Clojure as a learning project (say, the 
> simple subset of it shown above, for a start). My question is, what should 
> I use? Let's say for simplicity that the entry point is some function 
> (load-file-scribble "filename.scribble") that returns Clojure code same as 
> (load-file "filename.clj") does. As far as my general understanding of 
> programming languages goes, I have to:
>
>    1. extend the tokenizer to support additional syntax;
>    2. extend the parser (?) to convert the new tokens into corresponding 
>    Clojure tokens;
>    3. feed the result to the Clojure parser
>
> (although I might be completely wrong).
>
> There is the ``tools.reader`` module, which seems more or less suitable, 
> but I cannot find the hooks that would allow me to extend its functionality 
> in the required way. Is it the right tool, or should I look some other way?
>
>  
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to