Home | History | Annotate | Download | only in tools

Lines Matching full:scan

874 def ParseAtomicExpression(scan):
875 if scan.Current() == "true":
876 scan.Advance()
878 elif scan.Current() == "false":
879 scan.Advance()
881 elif IsAlpha(scan.Current()):
882 name = scan.Current()
883 scan.Advance()
885 elif scan.Current() == '$':
886 scan.Advance()
887 if not IsAlpha(scan.Current()):
889 name = scan.Current()
890 scan.Advance()
892 elif scan.Current() == '(':
893 scan.Advance()
894 result = ParseLogicalExpression(scan)
895 if (not result) or (scan.Current() != ')'):
897 scan.Advance()
904 def ParseOperatorExpression(scan):
905 left = ParseAtomicExpression(scan)
907 while scan.HasMore() and (scan.Current() in BINARIES):
908 op = scan.Current()
909 scan.Advance()
910 right = ParseOperatorExpression(scan)
917 def ParseConditionalExpression(scan):
918 left = ParseOperatorExpression(scan)
920 while scan.HasMore() and (scan.Current() == 'if'):
921 scan.Advance()
922 right = ParseOperatorExpression(scan)
930 def ParseLogicalExpression(scan):
931 left = ParseConditionalExpression(scan)
933 while scan.HasMore() and (scan.Current() in LOGICALS):
934 op = scan.Current()
935 scan.Advance()
936 right = ParseConditionalExpression(scan)
949 scan = Scanner(tokens)
950 ast = ParseLogicalExpression(scan)
954 if scan.HasMore():