ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Taco Hoekwater <taco@elvenkind.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: {{ double braces }}
Date: Wed, 13 Feb 2008 09:39:43 +0100	[thread overview]
Message-ID: <47B2ACCF.3050602@elvenkind.com> (raw)
In-Reply-To: <alpine.DEB.1.00.0802121233200.31359@nqv-yncgbc>



Aditya Mahajan wrote:
> I have been looking at different ways to parse TeX syntax since I 
> occassionally do ConTeXt -> LaTeX conversion. Things like gema and regexs 
> are ok for small things: e.g., convert ConTeXt section commands to LaTeX 
> section commnads, convert figures, etc. Gema is better if you also want to 
> convert ConTeXt font commands to LaTeX; since it is easier to write nested 
> conversions. However, both fail miserably if you want to convert things 
> like ConTeXt multi-line math statements to LaTeX. For that a real parser 
> is needed. I have looked at Parsec (and Pandoc project) in Haskell, but 
> have not made too much progress there. Maybe lpeg is an easier to 
> understand parser. (But I sometimes get the feeling that the whole thing 
> will be easier in TeX, since TeX already parses itself :)

This is actualy pretty easy, I did that for a TeX->XML conversion once.
You have to redefine each and every command and make all special chars
like $ and _ \active, but it is in fact pretty easy and fairly reliable.

I would not do it like that again, these days I would use lpeg, but
it was not nearly as complicated to do it in tex macros as I had
anticipated.

Best wishes,
Taco

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


  reply	other threads:[~2008-02-13  8:39 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-21 14:45 Steffen Wolfrum
2008-01-21 15:02 ` Mikael Persson
2008-01-21 15:53   ` Steffen Wolfrum
2008-01-23 20:49 ` Peter Münster
2008-01-23 21:50   ` Peter Münster
2008-01-23 22:17     ` Thomas A. Schmitz
2008-01-23 23:19       ` Aditya Mahajan
2008-01-26 10:11         ` Thomas A. Schmitz
2008-02-06  7:01           ` Aditya Mahajan
2008-02-06  9:11             ` Steffen Wolfrum
2008-02-06 16:36               ` Aditya Mahajan
2008-02-06 19:20                 ` Hans van der Meer
2008-02-06 20:01                   ` Steffen Wolfrum
2008-02-06 20:16                     ` Hans van der Meer
2008-02-06 20:17               ` Otared Kavian
2008-02-12 15:09             ` Thomas A. Schmitz
2008-02-12 15:15               ` Hans Hagen
2008-02-12 17:39                 ` Aditya Mahajan
2008-02-13  8:39                   ` Taco Hoekwater [this message]
2008-02-13  9:31                     ` luigi scarso
2008-02-13 10:21                       ` Taco Hoekwater
2008-02-13 10:38                         ` luigi scarso
2008-01-26 10:52       ` Taco Hoekwater
2008-01-26 11:41         ` Taco Hoekwater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47B2ACCF.3050602@elvenkind.com \
    --to=taco@elvenkind.com \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).