On 11/10/2012, at 11:35 PM, john skaller wrote:

Actually its NOT a bug in the compiler as such .. its worse ..

> I was then panic-king because I got this:

Dobes is going to kill me :-)

> regdef binder = "ctor" (spaces vlist)?;
> regdef spaces = " "*;


Now, you must realise that "regdef" isn't magical.
Here's the grammar:

  tstatement := "regdef" sdeclname "=" sregexp[ralt_pri] ";" =># 
    """
    `(ast_val_decl ,_sr ,(first _2) ,(second _2) (some (ast_lookup ( ,(noi 
'Regdef) "regex" ()))) (some ,_4))
    """;

So you see, regdef just creates a "val" initialised  to a data structure 
specified in
the Regdef class, type regex:

class Regdef {
  union regex =
  | Alts of list[regex]
  | Seqs of list[regex]
  | Rpt of regex * int * int
  | Charset of string
  | String of string
  | Group of regex
  | Perl of string
  ;

So there's no magic. It's a simple user bug that the compiler SHOULD have 
caught.
Let's rewrite it:

val binder = ... spaces ...
val spaces = ....



--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to