Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
soc:2009:lynusvaz:project_plan:start [2009/06/01 09:21]
lynusvaz
soc:2009:lynusvaz:project_plan:start [2009/08/15 08:44]
lynusvaz
Line 2: Line 2:
  
 ===== Project Plan ===== ===== Project Plan =====
-Etherboot ​currently features a limited capability command language. A more powerful scripting language would be useful to users: they can specify boot policies or other customizations as a script, without having to understand gPXE completely, or having to edit the code.+ 
 +==== Summary ==== 
 +gPXE currently features a limited capability command language. A more powerful scripting language would be useful to users: they can specify boot policies or other customizations as a script, without having to understand gPXE completely, or having to edit the code.
  
 Features: Features:
Line 12: Line 14:
 Quoting Quoting
  
 +==== Outline ====
 +  * These changes need an arithmetic evaluator, to accept expressions.
 +  * Define if, then, else commands. I am thinking of something like:
  
 +if [ expr ]
  
 +statements
 +
 +else
 +
 +statements
 +
 +fi
 +
 +I think this would be the simplest to deal with.
 +  * Define a goto command, or alternatively for, and while commands
 +  * A simple syntax to handle expression expansion: something like the current ${} for variables.
 +  * Also, handling variables in these expressions,​ especially string variables
 +  * I also think we need to have some operators like: check if interface exists (maybe (--i net1)?)
 +  * Quoting
 +  * Command exit code
 +  * Documentation
 +  * Testing
  
  
-==== Summary ==== 
  
-==== Outline ==== 
  
 ==== Milestones and Timeline ==== ==== Milestones and Timeline ====
 +Current work: I currently have code to evaluate arithmetic expressions,​ involving integers only (variable substitution is done before it is called). The usual C operators are supported (no variables, so no assignment),​ with their usual precedence and associativity.
 +
 +June 8: Finalize syntax issues: dealing with string variables, use ${} for arithmetic expressions as well or define another delimiter, syntax for if, and loops.
 +
 +June 14: Implementation of arithmetic parser as decided.
 +
 +June 21: Dealing with quoting
 +
 +June 28: Conditional branches
 +
 +July 12: Loops and goto
 +
 +July 23: Return code
 +
 +July 26: [[.:​scripting_doc:​Features added|Documentation]]
 +
 +Aug 2: Autoboot script and other testing
  
 +Aug 10: Leeway

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2009:lynusvaz:project_plan:start (generated for current page)