Package pyraf :: Module clscan
[hide private]
[frames] | no frames]

Module clscan

source code

cl tokenizer/scanner using John Aycock's little languages (SPARK) framework

This version uses a context-sensitive pattern stack

$Id: clscan.py 783 2007-04-04 20:19:54Z rij $

R. White, 1999 September 10

Classes [hide private]
  _BasicScanner_1
Scanner class for tokens that can be recognized late
  _BasicScanner_2
Scanner class for tokens that must be recognized before those defined in the _BasicScanner_1 class.
  _BasicScanner_3
Scanner class for Tokens that must be recognized before those defined in the _BasicScanner_2 or _BasicScanner_1 classes.
  _LaxScanner
  _StartScanner_1
  _StrictStartScanner
Strict scanner class for tokens recognized in start-line mode
  _StartScanner
Scanner class for tokens recognized in start-line mode
  _CommandScanner_1
  _CommandScanner_2
  _StrictCommandScanner
Strict scanner class for tokens recognized in command mode
  _CommandScanner
Scanner class for tokens recognized in command mode
  _ComputeStartScanner_1
  _ComputeStartScanner_2
  _StrictComputeStartScanner
Strict scanner class for tokens recognized in initial compute mode (similar to command mode)
  _ComputeStartScanner
Scanner class for tokens recognized in initial compute mode (similar to command mode)
  _ComputeEqnScanner_1
  _ComputeEqnScanner_2
  _StrictComputeEqnScanner
Strict scanner class for tokens recognized in compute equation mode
  _ComputeEqnScanner
Scanner class for tokens recognized in compute mode
  _ComputeScanner_1
  _ComputeScanner_2
  _StrictComputeScanner
Strict scanner class for tokens recognized in compute mode
  _ComputeScanner
Scanner class for tokens recognized in compute mode
  _StrictSwallowNewlineScanner
Strict scanner class where embedded newlines allowed
  _SwallowNewlineScanner
Strict scanner class where embedded newlines allowed
  _StrictAcceptRedirScanner
Strict scanner class where redirection is allowed
  _AcceptRedirScanner
Scanner class where redirection is allowed
  CLScanner
CL scanner class
Functions [hide private]
 
filterEscapes(instr)
Turn all backslashes that aren't special character for IRAF into double backslashes
source code
 
_getScannerDict() source code
 
_getStrictScannerDict() source code
 
_countNewlines(s)
Return number of newlines in string
source code
 
scan(f) source code
 
toklist(tlist, filename=None) source code
Variables [hide private]
  _START_LINE_MODE = 0
  _COMMAND_MODE = 1
  _COMPUTE_START_MODE = 2
  _COMPUTE_EQN_MODE = 3
  _COMPUTE_MODE = 4
  _SWALLOW_NEWLINE_MODE = 5
  _ACCEPT_REDIR_MODE = 6
  comment_pat = re.compile(r'\\\s*\n\s*#.*\n\s*')
  special_escapes = re.compile(r'[\\\\]*(\\[^fnrt\\\'"\d])')
  _keywordDict = {'begin': 1, 'break': 1, 'case': 1, 'default': ...
  _typeDict = {'bool': 1, 'char': 1, 'file': 1, 'gcur': 1, 'imcu...
  _boolDict = {'yes': 1, 'no': 1,}
  _scannerDict = None
  _strictScannerDict = None

Imports: ContextSensitiveScanner, GenericScanner, Token, string, re, irafutils, irafglobals


Variables Details [hide private]

_keywordDict

Value:
{'begin': 1, 'break': 1, 'case': 1, 'default': 1, 'else': 1, 'end': 1,\
 'for': 1, 'goto': 1, 'if': 1, 'next': 1, 'procedure': 1, 'return': 1,\
 'switch': 1, 'while': 1,}

_typeDict

Value:
{'bool': 1, 'char': 1, 'file': 1, 'gcur': 1, 'imcur': 1, 'int': 1, 'ps\
et': 1, 'real': 1, 'string': 1, 'struct': 1, 'ukey': 1,}