10.06.2016 Views

eldo_user

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Eldo Control Language<br />

Advanced Simulation Options<br />

(simulation_command NEWLINE+)+;<br />

simulation_command ::= ? SPICE simulation command ?<br />

/* Task and function grammar rules. */<br />

task ::=<br />

NEWLINE*<br />

'.define_task'<br />

ID (argument_def)? NEWLINE+<br />

block?<br />

'.end_define_task' NEWLINE*<br />

function ::=<br />

'.define_function' ID (argument_def)? NEWLINE+<br />

block?<br />

'.end_define_function'<br />

block ::=<br />

(declaration_or_statement ';'? NEWLINE+)+;<br />

declaration_or_statement ::= declaration | statement;<br />

declaration ::= 'set' ( (left_value | ID '[' ']') '=' expression)+;<br />

statement::= assignment |<br />

return_statement |<br />

if_statement |<br />

while_statement |<br />

step_statement |<br />

for_statement |<br />

function_call |<br />

'break' |<br />

'continue';<br />

return_statement ::= 'return' expression;<br />

if_statement ::= 'if' '(' expression ')' NEWLINE+<br />

block?<br />

('else' NEWLINE+<br />

block?)?<br />

'endif';<br />

while_statement ::= 'while' '(' expression ')' NEWLINE+<br />

block?<br />

'endwhile';<br />

step_statement ::=<br />

'step' '('<br />

('type' '=' ('step' | 'incr' | 'decr' |<br />

'lin' | 'linear' | 'log' |<br />

'list') ',')?<br />

'param' '=' id_list ','<br />

(('list' '=' expression_list_list) |<br />

('start' '=' expression ','<br />

'stop' '=' expression ','<br />

('step' | 'incr' | 'decr' | 'n' | 'dec') '=' expression))<br />

')' NEWLINE+<br />

block?<br />

'endstep';<br />

for_statement ::= 'for' '(' assignment? ';'<br />

expression? ';'<br />

1120<br />

Eldo® User's Manual, 15.3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!