| | Re: NQC wishlist
|
|
(...) I took a good look at the preprocessor code, and it shouldn't be too hard to implement ## aside from the problem of recovering original token text. Adding support for remembering the original token text is easy to do if you're willing to be a (...) (25 years ago, 6-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) If I were to implement it, I probably wouldn't add a second pass. The real obstacle at present is that the literal text for a token cannot always be recovered after it leaves the lexer. For example, '01' and '1' both leave the lexer as an (...) (25 years ago, 6-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: What should be in the next version of RcxCC
|
|
1: a default template file, so that standard includes and defines, a main task and other things that tend to be used in all programs can be added automatically from the New command. I realise I could just create one and then Open and Save As, but we (...) (25 years ago, 5-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | RcxCC Editor
|
|
First off, big thanks to DB for NQC, and MO for RcxCC. Both top products, and a major relief. Quick question though to Mark: I occasionally get corrupted text characters in the RcxCC editor window. The entire line that the cursor is on suddenly (...) (25 years ago, 5-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
This works as a 1-based 16 element array of Boolean variables... // Boolean constants #define TRUE 1 #define FALSE 0 // Boolean storage - bye bye var 0 int bSys = 0; // Boolean array defines #define bool(i) ((bSys & (i^2)/2) == (i^2)/2) #define (...) (25 years ago, 5-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) I believe the simplest way to do it would be to have an extra preprocessing pass... it will slow down compilation a little, it's true, but maybe not that much as to matter (compilation is anyway so much faster than the downloading anyway) then (...) (25 years ago, 5-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) No, this sort of thing isn't covered in my book. There are several ways to send commands to the RCX. The first is the official SDK from TLG (spirit.ocx) which runs under Windows. The SDK contains a reasonable amount of documentation on the (...) (25 years ago, 5-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) [Snip] (...) Okay. Is sending these commands (and which ones that are/can be "immediate") in your book? <G> While I don not have something in mind right this second, the more complex programs get the higher the possibility of someone using (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) I'm not sure if the terminology from LEGO is "direct" or "immediate" commands, but either way the idea is that some of the bytecodes can be sent to the RCX and the RCX will execute them immediately. There's a lot of overlap between the direct (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) I am kind of new to this, but what is meant by direct command? How would tasks downloaded in another slot be assessable to some other task to start up? --- DonC donc@cccd.edu (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | RE: NQC wishlist
|
|
(...) This might be a good idea. The pbForth thing is working out well too. Maybe a C to FORTH translator would be useful. In the other hand, making a custom bytecode interpreter means having to write the interpreter and support it on different (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wish
|
|
Inline functions are by their very nature surpressed. Also, most control structures and calculations that can be evaluated at compile time are eliminated. I thought about surpressing tasks and subs, but then decided not to. The problem is that tasks (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) To me, one of the important features of such a thing would be compatibility with the existing firmware. Otherwise, why not just use LegOS? (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
If anyone is seriously considering this I'd ask two things... 1) Have you considered porting the p-code interpreter used by Interactive C or something like a stripped down Java bytecode interpreter instead? The idea here would be that the RCX (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) Yeah, this was discussed way back at the beginning of the reverse-engineering effort. It's something I'd like to see too. (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
I was jut wondering, has anybody tried to implement a "better RCX-code"? It must be possible to write something very similar to RCX-code in LegOS, only faster and implementing the "missing" array structures and more variables. Mayby compatible with (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
|
| | NQC wish
|
|
Hello, It would be great to have NCQ doing dead code suppression before downloading it to the RCX. Any function, task,... not referenced in the program should not be compiled and sent to the RCX. It would help to save memory and download time don't (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) Implementation of ## gets pretty nasty - at least within the current pre-processor design. I'll look at the C spec again, but I'm pretty sure ## forces a re-tokenization. In the current design of NQC, tokenization happens before (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) Great! (...) Vlad, that's funny. Immediately after seeing Dave's reply, I decided to make such macros myself. But I got disturbed and couldn't do it today anymore. Since you seem to have done it already, I'll just wait to see yours :-) (...) (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx.nqc)
|
|
| | Re: NQC wishlist
|
|
(...) I am sure more people than me are looking forward to that! About the "smaller" integer variables, I have put together a couple of macros that simulate an array of packed "small" integers, any bit size works, but power-of-2 sizes do not waste (...) (25 years ago, 4-Jan-00, to lugnet.robotics.rcx.nqc)
|