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 1463 2011-06-24 22:58:30Z stsci_embray $

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 = {'no': 1, 'yes': 1}
  _scannerDict = None
  _strictScannerDict = None
  __package__ = 'pyraf'

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


Variables Details [hide private]

_keywordDict

Value:
{'begin': 1,
 'break': 1,
 'case': 1,
 'default': 1,
 'else': 1,
 'end': 1,
 'for': 1,
 'goto': 1,
...

_typeDict

Value:
{'bool': 1,
 'char': 1,
 'file': 1,
 'gcur': 1,
 'imcur': 1,
 'int': 1,
 'pset': 1,
 'real': 1,
...