<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://etherboot.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://etherboot.org/wiki/feed.php">
        <title>Etherboot/gPXE Wiki soc:2009:lynusvaz:journal</title>
        <description></description>
        <link>http://etherboot.org/wiki/</link>
        <image rdf:resource="http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico" />
       <dc:date>2026-06-11T07:35:20-07:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/start?rev=1245039776&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week1?rev=1243917508&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week2?rev=1244438438&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week3?rev=1245131141&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week4?rev=1245732267&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week5?rev=1257670478&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week6?rev=1246855558&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week7?rev=1247424371&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week8?rev=1248053771&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week9?rev=1248805725&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week10?rev=1249235413&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week11?rev=1249584674&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week12?rev=1250526477&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico">
        <title>Etherboot/gPXE Wiki</title>
        <link>http://etherboot.org/wiki/</link>
        <url>http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico</url>
    </image>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/start?rev=1245039776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-06-14T21:22:56-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:start</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/start?rev=1245039776&amp;do=diff</link>
        <description>Lynus Vaz: Enhanced scripting language

Journal

	*  Week 1 [May 23 - 29, 2009] 
	*  Week 2 [May 30 - June 7, 2009] 
	*  Week 3 [June 8 - 14, 2009] 
	*  Week 4 [June 15 - 21, 2009] 
	*  Week 5 [June 22 - 28, 2009] 
	*  Week 6 [June 29 - July 5, 2009] 
	*  Week 7 [July 6 - 12, 2009] 
	*  Week 8 [July 13 - 19, 2009] 
	*  Week 9 [July 20 - 26, 2009] 
	*  Week 10 [July 27 - August 2, 2009] 
	*  Week 11 [August 3 - 9, 2009] 
	*  Week 12 [August 10 - 16, 2009]</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week1?rev=1243917508&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-06-01T21:38:28-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week1</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week1?rev=1243917508&amp;do=diff</link>
        <description>Lynus Vaz: Enhanced scripting language

Journal Week 1

23 May: Had a look at the current code in gPXE. Decided to start off with an arithmetic parser. Tried implementing a precedence parser, as described on wikipedia, and ended up with a rather large code. Stefan put together a much smaller recursive descent parser for addition/subtraction and multiplication/division, so I'll modify that tomorrow.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week2?rev=1244438438&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-06-07T22:20:38-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week2</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week2?rev=1244438438&amp;do=diff</link>
        <description>Journal Week 2

May 30: Stefan pointed out a few bugs: mostly with detecting incorrect input. Fixed them. There's this bug that I've introduced: after a few (sometimes one, sometimes more) incorrect inputs, gPXE just locks up. I can't seem to isolate it. Well, there's no way I can pitch it as a feature, so I'll have to fix it.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week3?rev=1245131141&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-06-15T22:45:41-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week3</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week3?rev=1245131141&amp;do=diff</link>
        <description>June 6: Weekly meeting today. We discussed about the syntax:

	*  Variable names can contain '-' and '/'. So, something like ${a+2} is not possible.
	*  Decided we needed a formal document describing the syntax.

June 7: Spent today writing down a formal grammar. Discussed it with Stefan, who suggested some changes, which I put in.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week4?rev=1245732267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-06-22T21:44:27-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week4</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week4?rev=1245732267&amp;do=diff</link>
        <description>June 15: Sent out a patch to etherboot-developers, with the arithmetic parser. Well, before that I had to actually make the patch, which required some messing around with git. Had an accident which resulted in losing a script I used to test the parser. Anyway, finally managed to send it out.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week5?rev=1257670478&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-08T00:54:38-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week5</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week5?rev=1257670478&amp;do=diff</link>
        <description>June 22: One of the things I had neglected to do was automating testing. So, I decided to do that:

	*  In src/config/defaults/pcbios.h: changed #define CONSOLE_PCBIOS to #define CONSOLE_SERIAL
	*  make
	*  qemu -tftp . -cdrom bin/gpxe.iso -bootp /tests/arith_test.gpxe -serial stdio &gt; result</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week6?rev=1246855558&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-05T21:45:58-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week6</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week6?rev=1246855558&amp;do=diff</link>
        <description>June 29: Implemented while-done loops and for-done loops. The current idea is:

	*  I have a global variable prog_ctr, that is the program counter
	*  A stack (not as a stack, but just for storage space) is used to store the commands
	*  Another stack is used to store the information for a loop.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week7?rev=1247424371&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-12T11:46:11-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week7</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week7?rev=1247424371&amp;do=diff</link>
        <description>July 6: Fixed a bug which prevented using for and while statements split over multiple lines. The problem was that the cur_command variable stored the last line of an incomplete command. Fixed by concatenating incomplete lines before storing. AndyTim suggested that instead of a memory-intensive list, I just store the offset into the script for interesting lines. A problem with that is that it would act differently for scripts and interactive input. But, it will use a lot less memory. So, this is…</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week8?rev=1248053771&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-19T18:36:11-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week8</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week8?rev=1248053771&amp;do=diff</link>
        <description>July 13: Didn't work much today. Just a little cleaning up of the the return code. Now, control flow statements like if, else, while, etc. do not modify the rc variable.

	*  if, else, etc. do not affect rc

July 18: Added comments. I've started a new branch, scripting_test for integration into gPXE. Pushed the quoting changes to this branch, as a first commit. Hopefully it will stand up to the scrutiny. Also made a bash script to automate testing of the scripting features. The steps are:</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week9?rev=1248805725&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-28T11:28:45-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week9</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week9?rev=1248805725&amp;do=diff</link>
        <description>July 20: More comments today. Got some feedback from Stefan about the quotes patch. Also added the automated test to the same patch. Decided to have a look at the sizes before and after the quoting (make bin/rtl8139.dsk.sizes):
Before
 text    data     bss     dec     hex filename
  629	      8	      0	    637	    27d	bin/exec.o
  321	     16	      4	    341	    155	bin/shell.o</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week10?rev=1249235413&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-02T10:50:13-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week10</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week10?rev=1249235413&amp;do=diff</link>
        <description>July 27-28: Trying to improve the arith.c file:

	*  Reducing number of global variables: in particular the err_val, tok and incomplete variables
	*  Strategies for string management
	*  Modify strtoul to handle a +/- sign (there are cases when I need to 'recognize' negative numbers)</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week11?rev=1249584674&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-06T11:51:14-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week11</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week11?rev=1249584674&amp;do=diff</link>
        <description>August 3: Stefan had a few radical suggestions on the quoting code:

	*  Having a sentinel to mark the end of each parsing table. This avoids passing in the length to the expand_string() function.
	*  Reducing the number of cases in the expand_string() function. This would reduce the number of fields in the parsing table strcuture.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week12?rev=1250526477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-17T09:27:57-07:00</dc:date>
        <title>soc:2009:lynusvaz:journal:week12</title>
        <link>http://etherboot.org/wiki/soc/2009/lynusvaz/journal/week12?rev=1250526477&amp;do=diff</link>
        <description>August 10: Still trying to reduce the code. Tried to remove the int *success parameter of the expand_string() function. This parameter tells the calling function whether a new word was recognised. However, I had some problems in case of the line-continuation \.</description>
    </item>
</rdf:RDF>
