| Thread overview | |||||||||
|---|---|---|---|---|---|---|---|---|---|
|
February 17, 2020 betterC CTFE nested switch | ||||
|---|---|---|---|---|
| ||||
Hi there guys,
I was trying to generated code during compile time. Bassicly I'm creating a tokenizer and I would like to generated nested switch using betterC.
Basically convert something like this:
enum tokens =
[
['!', '='],
['>', '='],
['>'],
];
to:
switch(str[i])
{
case '!':
switch(str[i + 1])
{
case '=':
onToken(['!', '=']);
break;
default: break;
}
break;
case '>':
switch(str[i + 1])
{
case '=':
onToken(['>', '=']);
break;
default:
onToken(['>']);
break;
}
break;
default: break;
}
but right now I'm stuck and I don't know how to achieve this. I was able to find out that:
1) Switches has to be labeled and the only way I know how to do so is to use string code and then mixing it. I was hoping for example to mixing only labels before switch and after continue and break but this does not seem to work :/
2) Format does not work in compile time using betterC (sprintf also does not work
Thank you very much for any kind if help
Kind regards Abby
| ||||
February 17, 2020 Re: betterC CTFE nested switch | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Abby | On Monday, 17 February 2020 at 10:18:32 UTC, Abby wrote: > Hi there guys, > I was trying to generated code during compile time. Bassicly I'm creating a tokenizer and I would like to generated nested switch using betterC. > > [...] I have a ctfe compatible string formatter, you should be to find it here https://forum.dlang.org/post/hmyxvknbdqtlnxvqqnzq@forum.dlang.org I hope that helps, Regards, Stefan : | |||
February 17, 2020 Re: betterC CTFE nested switch | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Monday, 17 February 2020 at 11:05:46 UTC, Stefan Koch wrote: > On Monday, 17 February 2020 at 10:18:32 UTC, Abby wrote: >> Hi there guys, >> I was trying to generated code during compile time. Bassicly I'm creating a tokenizer and I would like to generated nested switch using betterC. >> >> [...] > > I have a ctfe compatible string formatter, you should be to find it here > https://forum.dlang.org/post/hmyxvknbdqtlnxvqqnzq@forum.dlang.org > > I hope that helps, > > Regards, Stefan > : Hi Stefan, thank you very much for your reply but I could not find the source code or package name anywhere in that forum thread, I was only able to find this https://github.com/UplinkCoder/ctfeutils on github, but it's empty for me. Can you please help and point me to somewhere so I can try it out? Thank you very much Kind regards Abby | |||
February 17, 2020 Re: betterC CTFE nested switch | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Abby | On Monday, 17 February 2020 at 11:51:03 UTC, Abby wrote:
> On Monday, 17 February 2020 at 11:05:46 UTC, Stefan Koch wrote:
>> On Monday, 17 February 2020 at 10:18:32 UTC, Abby wrote:
>>> [...]
>>
>> I have a ctfe compatible string formatter, you should be to find it here
>> https://forum.dlang.org/post/hmyxvknbdqtlnxvqqnzq@forum.dlang.org
>>
>> I hope that helps,
>>
>> Regards, Stefan
>> :
>
> Hi Stefan, thank you very much for your reply but I could not find the source code or package name anywhere in that forum thread, I was only able to find this https://github.com/UplinkCoder/ctfeutils on github, but it's empty for me. Can you please help and point me to somewhere so I can try it out?
>
> Thank you very much
>
> Kind regards Abby
Sorry I just realized I never published the code.
I am going to add it to ctfeutils.
| |||
February 18, 2020 Re: betterC CTFE nested switch | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Monday, 17 February 2020 at 19:02:50 UTC, Stefan Koch wrote:
>
> Sorry I just realized I never published the code.
> I am going to add it to ctfeutils.
Thank you very much
| |||
February 21, 2020 Re: betterC CTFE nested switch | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Monday, 17 February 2020 at 19:02:50 UTC, Stefan Koch wrote:
> Sorry I just realized I never published the code.
> I am going to add it to ctfeutils.
Hi Stefan,
I'm sorry to bother you, I just wanted to kindly ask if you would upload the formatter to ctfeutils on github it would help me alot.
Thank you very much
Kind regards Abby
| |||
February 21, 2020 Re: betterC CTFE nested switch | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Abby | On Friday, 21 February 2020 at 09:03:26 UTC, Abby wrote:
> On Monday, 17 February 2020 at 19:02:50 UTC, Stefan Koch wrote:
>> Sorry I just realized I never published the code.
>> I am going to add it to ctfeutils.
>
> Hi Stefan,
> I'm sorry to bother you, I just wanted to kindly ask if you would upload the formatter to ctfeutils on github it would help me alot.
>
> Thank you very much
> Kind regards Abby
No problem I am a little busy lately.
In the meantime you can check if std.format : format would do the job.
Even though it will like be much slower than my CTFE optimized version.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply