Hello Yann and Stephane,

I have some questions about the recent commit 1cf7b6d1b57
("Faust identifiers extended to accept c++ namespaces").

So, iiuc, with this patch I can use, say, ffunction(float, std::sin(float)),
and this is nice.

But this also allows "::" in the pure .dsp code, say

        a::b = 0;
        process = a::b;

Was it intentional?


But my main question is: why does faustlexer allow only a single
"_" in the identifiers? For example,

        process = ffunction(int __isnanf(float), "","");

or
        __f = 0;
        process = __f;

can't be compiled.

How about something like the patch below?

Oleg.
---

diff --git a/compiler/parser/faustlexer.l b/compiler/parser/faustlexer.l
index 6d1ffb659..68b5aeea4 100644
--- a/compiler/parser/faustlexer.l
+++ b/compiler/parser/faustlexer.l
@@ -230,8 +230,7 @@ NSID         {ID}("::"{ID})*
 
 
 "::"{NSID}     return IDENT;
-_{NSID}                return IDENT;
-{NSID}                 return IDENT;
+_*{NSID}               return IDENT;
 
 "\""[^\"]*"\"" return STRING;
 



_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel

Reply via email to