EXIT_CFA])
# ( fid -- flag )
-# Flag is false when EOF is reached.
+# flag set to true if EOF is reached
QUERY_FILE_CFA = defWord("QUERY-FILE",
[FIB_CFA, LIT_CFA, 160, ROT_CFA, READ_LINE_CFA,
DROP_CFA, SWAP_CFA,
BRANCH_CFA,-4]) # Loop
INCLUDED_CFA = defWord("INCLUDED",
- [LIT_CFA, 0, STATE_CFA, STORE_CFA, # Set mode to interpret
- SOURCE_ID_CFA, FETCH_CFA, TOR_CFA, # Store current source on return stack
- FAM_RO_CFA, OPEN_FILE_CFA, DROP_CFA, # Open the file
- DUP_CFA, SOURCE_ID_CFA, STORE_CFA, # Mark this as the current source
- DUP_CFA, QUERY_FILE_CFA, # Read line from file
- INTERPRET_CFA, # Interpret line
- ZBRANCH_CFA, -4, # Loop if not EOF
- CLOSE_FILE_CFA, DROP_CFA, # Close file
- FROMR_CFA, SOURCE_ID_CFA, STORE_CFA, # Restore input source
+ [LIT_CFA, 0, STATE_CFA, STORE_CFA, # Set mode to interpret
+ FAM_RO_CFA, OPEN_FILE_CFA, DROP_CFA, # Open the file
+ SOURCE_ID_CFA, FETCH_CFA, SWAP_CFA, # Store current source on stack
+ SOURCE_ID_CFA, STORE_CFA, # Mark this as the current source
+ SOURCE_ID_CFA, FETCH_CFA, QUERY_FILE_CFA, # Read line from file
+ NUMFIB_CFA, FETCH_CFA, ZE_CFA, AND_CFA, # Test for EOF and empty line
+ INVERT_CFA, ZBRANCH_CFA, 4, # Break out if EOF
+ INTERPRET_CFA, # Interpret line
+ BRANCH_CFA, -12, # Loop
+ SOURCE_ID_CFA, FETCH_CFA,
+ CLOSE_FILE_CFA, DROP_CFA, # Close file
+ SOURCE_ID_CFA, STORE_CFA, # Restore input source
EXIT_CFA])
-INCLUDE_CFA = defWord("INCLUDE", [LIT_CFA, 32, WORD_CFA, INCLUDED_CFA, EXIT_CFA]);
+INCLUDE_CFA = defWord("INCLUDE", [LIT_CFA, 32, WORD_CFA,
+ DUP_CFA, INCR_CFA,
+ SWAP_CFA, FETCH_CFA,
+ INCLUDED_CFA, EXIT_CFA]);
ABORT_CFA = defWord("ABORT",