Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > * Need help Implementing a script (or macro)

Reply
Thread Tools

* Need help Implementing a script (or macro)

 
 
ern
Guest
Posts: n/a
 
      01-17-2006
My command-line application must be able to run text scripts (macros).
The scripts have commands, comments, and flags. Comments are ignored
(maybe they are any line beginning with " ; ") Commands are executed
as if the user *manually* typed them in the console. Flags are special
commands that tell the program where to BREAK, LOOP, START. A typical
script may look like this:

; This is my script. It will test my mp3 player...
START:

set battery voltage 1.5
begin thread

LOOP: ; here I will test individual tracks
play
skip track

BREAK: ; at this point, I go back up to find "LOOP"

To launch the script, the user will type:

"script <pathname>"

where pathname is where the script lives. So far, I have the entire
text file in a char * buffer.

Now I need to do several things....

1. After the script begins, the USER needs a way to halt execution of
the script. I was thinking any key press would do. Pseudocode looks
like this:

while("user hasn't pressed any key"){ //continue executing script...

I want the script to stop immediately after the user presses a key, so
I 'm not sure a while loop is the best way... perhaps some kind of
thread...

Need help implementing that logic....

2. I need a way to seperate each line in the text file. I was
thinking of putting each line in an element of an array. I could have
two arrays:

char * start[SIZE];
char * loop[SIZE];

The first holds the commands to execute once, and the second holds the
commands to repeat (not sure if the syntax is correct there... ? I
need an array of strings...). Once I have the commands, I can just
execute them one at a time until I get the flag to stop (#1). But how
would I parse the commands into the arrays from the "buffer" ?

 
Reply With Quote
 
 
 
 
Mark McIntyre
Guest
Posts: n/a
 
      01-17-2006
On 17 Jan 2006 06:42:51 -0800, in comp.lang.c , "ern"
<(E-Mail Removed)> wrote:

>My command-line application must be able to run text scripts (macros).


>1. After the script begins, the USER needs a way to halt execution of
>the script.


Suspend or terminate? The latter is easy...

>I was thinking any key press would do.


you can't do this in standard C, as there's no way to do a continuous
background check for something else happening in parallel to your main
thread. Ask in a newsgroup specific to your platform for information
on threading.

>2. I need a way to seperate each line in the text file.


read up on strtok and sscanf.

Mark McIntyre
--

----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
 
Reply With Quote
 
 
 
 
Chuck F.
Guest
Posts: n/a
 
      01-17-2006
ern wrote:
>
> My command-line application must be able to run text scripts
> (macros). The scripts have commands, comments, and flags.
> Comments are ignored (maybe they are any line beginning with
> ";") Commands are executed as if the user *manually* typed them
> in the console. Flags are special commands that tell the
> program where to BREAK, LOOP, START. A typical script may look
> like this:


Just use the innate script ability of your shell. In on Linux you
probably need to read up on bash. If on Windoze read up on batch
language, or better install 4dos for a better system.

This is all OT on c.l.c.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
More details at: <http://cfaj.freeshell.org/google/>
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments