Exemple #1
0
 def testMarkElemsInStr12(self):
     st = """x=(#\L,4)"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, "(")
     self.assertEqual(strElem.value, "(")
     strElem = res[0][3]
     self.assertEqual(strElem.type, strElem.SYNT_STRUCT_TYPE)
     self.assertEqual(strElem.value, "#\L")
     strElem = res[0][4]
     self.assertEqual(strElem.type, ",")
     self.assertEqual(strElem.value, ",")
     strElem = res[0][5]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "4")
     strElem = res[0][6]
     self.assertEqual(strElem.type, ")")
     self.assertEqual(strElem.value, ")")
Exemple #2
0
 def testMarkElemsInStr14(self):
     st = """x!=#c(1.,2e-3)"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "!=")
     self.assertEqual(strElem.value, "!=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, "#c")
     self.assertEqual(strElem.value, "#c")
     strElem = res[0][3]
     self.assertEqual(strElem.type, "(")
     self.assertEqual(strElem.value, "(")
     strElem = res[0][4]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "1.")
     strElem = res[0][5]
     self.assertEqual(strElem.type, ",")
     self.assertEqual(strElem.value, ",")
     strElem = res[0][6]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "2e-3")
     strElem = res[0][7]
     self.assertEqual(strElem.type, ")")
     self.assertEqual(strElem.value, ")")
Exemple #3
0
 def testMarkElemsInStr6(self):
     st = """x[0]=&+$%^\\(-symbol(23.4)\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "[")
     self.assertEqual(strElem.value, "[")
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "0")
     strElem = res[0][3]
     self.assertEqual(strElem.type, "]")
     self.assertEqual(strElem.value, "]")
     strElem = res[0][4]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][5]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "+$%^\\(-symbol")
     strElem = res[0][6]
     self.assertEqual(strElem.type, "(")
     self.assertEqual(strElem.value, "(")
     strElem = res[0][7]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "23.4")
     strElem = res[0][8]
     self.assertEqual(strElem.type, ")")
     self.assertEqual(strElem.value, ")")
Exemple #4
0
 def testMarkElemsInStr21(self):
     res = markElemsInStr("\n", 0)
     self.assertEqual(res[1], REG_PHASE)
     self.assertEqual(len(res[0]), 1)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.LINE_END_TYPE)
     self.assertEqual(strElem.value, None)
Exemple #5
0
 def testMarkElemsInStr17(self):
     st = """x=3/4+3./4-.5f+7"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "3/4")
     strElem = res[0][3]
     self.assertEqual(strElem.type, "+")
     self.assertEqual(strElem.value, "+")
     strElem = res[0][4]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "3.")
     strElem = res[0][5]
     self.assertEqual(strElem.type, "/")
     self.assertEqual(strElem.value, "/")
     strElem = res[0][6]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, "4")
     strElem = res[0][7]
     self.assertEqual(strElem.type, "-")
     self.assertEqual(strElem.value, "-")
     strElem = res[0][8]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, ".5f+7")
Exemple #6
0
 def testMarkElemsInStr27(self):
     res = markElemsInStr("(+ 1 2)  ;;comment}}\n",
                          0,
                          initPhase=CLISP_PHASE)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.CLISP_END_TYPE)
     self.assertEqual(strElem.value, "(+ 1 2)  ;;comment\n")
Exemple #7
0
 def testMarkElemsInStr24(self):
     res = markElemsInStr("cl{{(+ 1 2) ;comment in lisp code}}-3\n", 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.CLISP_START_TYPE)
     self.assert_(strElem.value is None)
     strElem = res[0][1]
     self.assertEqual(strElem.type, strElem.CLISP_END_TYPE)
     self.assertEqual(strElem.value, "(+ 1 2) ;comment in lisp code\n")
Exemple #8
0
 def testMarkElemsInStr22(self):
     res = markElemsInStr("def foo(&def ){}", 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SPEC_SYMB_TYPE)
     self.assertEqual(strElem.value, "def")
     strElem = res[0][4]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "def")
Exemple #9
0
 def testMarkElemsInStr20(self):
     st = """if a &b-c {\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "a")
     strElem = res[0][4]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "b-c")
Exemple #10
0
 def testMarkElemsInStr4(self):
     # line of a multiline string
     st = """string started before, and does not end here\n"""
     res = markElemsInStr(st, 0, initPhase=STRING_PHASE)
     self.assertEqual(res[1], STRING_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.STR_MID_TYPE)
     self.assertEqual(strElem.value,
                      "string started before, and does not end here\n")
     st = """\n"""
     res = markElemsInStr(st, 0, initPhase=STRING_PHASE)
     self.assertEqual(res[1], STRING_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.STR_MID_TYPE)
     self.assertEqual(strElem.value, "\n")
     st = """\r\n"""
     res = markElemsInStr(st, 0, initPhase=STRING_PHASE)
     self.assertEqual(res[1], STRING_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.STR_MID_TYPE)
     self.assertEqual(strElem.value, "\r\n")
Exemple #11
0
 def testMarkElemsInStr25(self):
     res = markElemsInStr("cl{{(+ 1 2)\n", 0)
     self.assertEqual(res[1], CLISP_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.CLISP_START_TYPE)
     self.assert_(strElem.value is None)
     self.assert_(strElem.start is 0)
     self.assert_(strElem.end is None)
     self.assertEqual(strElem.lineNum, 0)
     strElem = res[0][1]
     self.assertEqual(strElem.type, strElem.CLISP_MID_TYPE)
     self.assertEqual(strElem.value, "(+ 1 2)\n")
Exemple #12
0
 def testMarkElemsInStr23(self):
     res = markElemsInStr("cl{{(+ 1 2)}} - 3 \n", 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.CLISP_START_TYPE)
     self.assert_(strElem.value is None)
     strElem = res[0][1]
     self.assertEqual(strElem.type, strElem.CLISP_END_TYPE)
     self.assertEqual(strElem.value, "(+ 1 2)\n")
     strElem = res[0][3]
     self.assertEqual(strElem.type, "-")
     self.assertEqual(strElem.value, "-")
Exemple #13
0
 def testMarkElemsInStr11(self):
     st = """x=#b01010\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.SYNT_STRUCT_TYPE)
     self.assertEqual(strElem.value, "#b01010")
Exemple #14
0
 def testMarkElemsInStr5(self):
     # line of a multiline string
     st = """string started before, and ends here"  ; some comment\n"""
     res = markElemsInStr(st, 0, initPhase=STRING_PHASE)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.STR_END_TYPE)
     self.assertEqual(strElem.value,
                      "string started before, and ends here\"")
     strElem = res[0][1]
     self.assertEqual(strElem.type, strElem.WHITE_TYPE)
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.COMM_TYPE)
     self.assertEqual(strElem.value, "; some comment")
Exemple #15
0
 def testMarkElemsInStr1(self):
     # note unix end line character
     st = "  &lisp-symbol = foo(x,y)*.45  ; this is comment\n"
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     for num in (0, 13):
         strElem = res[0][num]
         self.assertEqual(strElem.type, strElem.WHITE_TYPE)
         self.assertEqual(strElem.value, None)
     strElem = res[0][1]
     self.assertEqual(strElem.lineNum, 0)
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "lisp-symbol")
     for num in (2, 4):
         strElem = res[0][num]
         self.assertEqual(strElem.type, strElem.WHITE_TYPE)
     strElem = res[0][3]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][5]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "foo")
     strElem = res[0][6]
     self.assertEqual(strElem.type, "(")
     self.assertEqual(strElem.value, "(")
     strElem = res[0][7]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][8]
     self.assertEqual(strElem.type, ",")
     self.assertEqual(strElem.value, ",")
     strElem = res[0][9]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "y")
     strElem = res[0][10]
     self.assertEqual(strElem.type, ")")
     self.assertEqual(strElem.value, ")")
     strElem = res[0][11]
     self.assertEqual(strElem.type, "*")
     self.assertEqual(strElem.value, "*")
     strElem = res[0][12]
     self.assertEqual(strElem.type, strElem.NUM_TYPE)
     self.assertEqual(strElem.value, ".45")
     strElem = res[0][14]
     self.assertEqual(strElem.type, strElem.COMM_TYPE)
     self.assertEqual(strElem.value, "; this is comment")
     strElem = res[0][15]
     self.assertEqual(strElem.type, strElem.LINE_END_TYPE)
     self.assertEqual(strElem.value, None)
Exemple #16
0
 def testMarkElemsInStr13(self):
     st = """x=#'foo"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, "#'")
     self.assertEqual(strElem.value, "#'")
     strElem = res[0][3]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "foo")
Exemple #17
0
 def testMarkElemsInStr9(self):
     st = """x=&\\\n"""  # #\Newline will not be treated as part of a symbol
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, "&")
     self.assertEqual(strElem.value, "&")
     strElem = res[0][3]
     self.assertEqual(strElem.type, "\\")
     self.assertEqual(strElem.value, "\\")
Exemple #18
0
 def testMarkElemsInStr10(self):
     st = """x=""\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.STR_START_TYPE)
     self.assertEqual(strElem.value, "\"")
     strElem = res[0][3]
     self.assertEqual(strElem.type, strElem.STR_END_TYPE)
     self.assertEqual(strElem.value, "\"")
Exemple #19
0
 def testMarkElemsInStr7(self):
     st = """x=&&symbol[23.4]\\(()\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "&symbol[23.4]\\(")
     strElem = res[0][3]
     self.assertEqual(strElem.type, "(")
     self.assertEqual(strElem.value, "(")
     strElem = res[0][4]
     self.assertEqual(strElem.type, ")")
     self.assertEqual(strElem.value, ")")
Exemple #20
0
 def testMarkElemsInStr18(self):
     st = """x=&lisp-pack:&lisp-symb\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "x")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "lisp-pack")
     strElem = res[0][3]
     self.assertEqual(strElem.type, ":")
     self.assertEqual(strElem.value, ":")
     strElem = res[0][4]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "lisp-symb")
Exemple #21
0
 def testMarkElemsInStr3(self):
     # note win's end line character
     st = """foo=="String spreads to several lines, has \\"-quotes\r\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], STRING_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "foo")
     strElem = res[0][1]
     self.assertEqual(strElem.type, "==")
     self.assertEqual(strElem.value, "==")
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.STR_START_TYPE)
     self.assertEqual(strElem.value, "\"")
     strElem = res[0][3]
     self.assertEqual(strElem.type, strElem.STR_MID_TYPE)
     self.assertEqual(
         strElem.value,
         "String spreads to several lines, has \\\"-quotes\r\n")
Exemple #22
0
 def testMarkElemsInStr19(self):
     st = """if a & b-c {\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][2]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "a")
     strElem = res[0][4]
     self.assertEqual(strElem.type, "&")
     self.assertEqual(strElem.value, "&")
     strElem = res[0][5]
     self.assertEqual(strElem.type, strElem.WHITE_TYPE)
     strElem = res[0][6]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "b")
     strElem = res[0][7]
     self.assertEqual(strElem.type, "-")
     self.assertEqual(strElem.value, "-")
     strElem = res[0][8]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "c")
Exemple #23
0
 def testMarkElemsInStr2(self):
     # note mac's end line character
     st = """\t&+symbol = foo+"Some string"  ; this is comment\r"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.WHITE_TYPE)
     self.assertEqual(strElem.value, None)
     strElem = res[0][1]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "+symbol")
     for num in (2, 4):
         strElem = res[0][num]
         self.assertEqual(strElem.type, strElem.WHITE_TYPE)
     strElem = res[0][3]
     self.assertEqual(strElem.type, "=")
     self.assertEqual(strElem.value, "=")
     strElem = res[0][5]
     self.assertEqual(strElem.type, strElem.SYMB_TYPE)
     self.assertEqual(strElem.value, "foo")
     strElem = res[0][6]
     self.assertEqual(strElem.type, "+")
     self.assertEqual(strElem.value, "+")
     strElem = res[0][7]
     self.assertEqual(strElem.type, strElem.STR_START_TYPE)
     self.assertEqual(strElem.value, "\"")
     strElem = res[0][8]
     self.assertEqual(strElem.type, strElem.STR_END_TYPE)
     self.assertEqual(strElem.value, "Some string\"")
     strElem = res[0][9]
     self.assertEqual(strElem.type, strElem.WHITE_TYPE)
     strElem = res[0][10]
     self.assertEqual(strElem.type, strElem.COMM_TYPE)
     self.assertEqual(strElem.value, "; this is comment")
     strElem = res[0][11]
     self.assertEqual(strElem.type, strElem.LINE_END_TYPE)
     self.assertEqual(strElem.value, None)
Exemple #24
0
 def testMarkElemsInStr8(self):
     st = """\n"""
     res = markElemsInStr(st, 0)
     self.assertEqual(res[1], REG_PHASE)
     strElem = res[0][0]
     self.assertEqual(strElem.type, strElem.LINE_END_TYPE)