rforth1 Notes
From Wiki
Jump to navigationJump to search
Pages
Missing Words
- ?dup
- leave
- ?leave
- defer
Questions
- Table read functions exist, but how are tables created?
- What is eepromc*+ supposed to do? (how can tablec@+ work with EEPROM registers?)
- No do-loop?
- Would e, be useful?
- What about ecreate or eallot?
Modifications
--- rforth.py.org 2009-07-08 15:33:08.735767400 -0400 +++ rforth.py 2009-07-08 15:35:14.110767400 -0400 @@ -688,6 +688,18 @@ @register('if') def run(invert = False): name, params = compiler.last_instruction() + if name == 'OP_PUSH': + value = params[0].static_value() + if value == 0: + compiler.rewind() + compiler.warning('constant 0 will never execute') + compiler.eval('ahead') + else: + compiler.rewind() + compiler.warning('constant non-zero will always execute') + label = Label() + compiler.ct_push(label) + return if name == 'OP_NORMALIZE': compiler.rewind() return compiler['if'].run(invert)