====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
soc:2009:lynusvaz:journal:week1 [2009/05/17 07:52]
127.0.0.1 external edit
soc:2009:lynusvaz:journal:week1 [2009/06/01 21:38] (current)
lynusvaz
Line 1: Line 1:
 ====== Lynus Vaz: Enhanced scripting language ====== ====== Lynus Vaz: Enhanced scripting language ======
- 
 ===== Journal Week 1 ===== ===== 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.
 +
 +24 May: Modified the parser to include more operators: the usual C operators on integers with their precedence. It seems pretty small, around 3KB.
 +
 +25 May: Just experimented with making the same stuff in bison. It comes to something like double the size. I'll see how it can be compressed. But for now, I think I'll leave it aside and continue with hand-written code.
 +
 +26 May: Couldn'​t work much today: seem to have caught a cold.
 +
 +27 May: I've pushed in my code instead of the variable expansion. I know that's not the right place for it, but it's just for testing. It does seem to work.
 +
 +28 May: Instead of using the ${} to mark the expression, I've decided to use $() to delimit it. A good thing about this is that I can use gPXE to first expand variables, and then evaluate the expression. In such cases, I don't have to deal with variables. Unfortunately,​ since '​)'​ can appear within an expression, I get things like '​$(7*6))'​ evaluating to '​42)'​. Pushed the changes to my git repository: http://​git.etherboot.org/?​p=people/​lynusvaz/​gpxe.git;​a=commit;​h=85c7a684fa755fefb793024bc5c456d15b351160 under an expt branch.
  
 +29 May: Spent today cleaning up bugs in my code.

QR Code
QR Code soc:2009:lynusvaz:journal:week1 (generated for current page)