Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.32 KB | None | 0 0
  1. -------- Thousands --------
  2.  
  3. // Format: [100-999] + thousand
  4. Cardinal{FEATURE("length","3") -> GETFEATURE("value", n1)}
  5. W{REGEXP("thousand|thousands") -> CREATE(Cardinal,1,2,"value" = n1 + "000", "length" = "6") } ;
  6.  
  7. // Format: [100-999] + thousand + [1-9]
  8. Cardinal{FEATURE("length","3") -> GETFEATURE("value", n1)}
  9. W{REGEXP("thousand|thousands")}
  10. W?{REGEXP("and")}
  11. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + "00" + n2 , "length" = "6") } ;
  12.  
  13. // Format: [10-99] + thousand + [1-9]
  14. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n1)}
  15. W{REGEXP("thousand|thousands")}
  16. W?{REGEXP("and")}
  17. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + "00" + n2 , "length" =  "5") } ;
  18.  
  19. // Format: [0-9] + thousand + [1-9]
  20. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n1)}
  21. W{REGEXP("thousand|thousands")}
  22. W?{REGEXP("and")}
  23. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + "00" + n2 , "length" =  "4") } ;
  24.  
  25. // Format: [100-999] + thousand + [10-99]
  26. Cardinal{FEATURE("length","3")  -> GETFEATURE("value", n1)}
  27. W{REGEXP("thousand|thousands")}
  28. W?{REGEXP("and")}
  29. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + "0" + n2 , "length" =  "6") } ;
  30.  
  31. // Format: [10-99] + thousand + [10-99]
  32. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n1)}
  33. W{REGEXP("thousand|thousands")}
  34. W?{REGEXP("and")}
  35. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + "0" + n2 , "length" =  "5") } ;
  36.  
  37. // Format: [0-9] + thousand + [10-99]
  38. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n1)}
  39. W{REGEXP("thousand|thousands")}
  40. W?{REGEXP("and")}
  41. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + "0" + n2 , "length" = "4") } ;
  42.  
  43. // Format: [100-999] + thousand + [100-999]
  44. Cardinal{FEATURE("length","3")  -> GETFEATURE("value", n1)}
  45. W{REGEXP("thousand|thousands")}
  46. W?{REGEXP("and")}
  47. Cardinal{FEATURE("length","3") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + n2 , "length" = "6") } ;
  48.  
  49. // Format: [10-99] + thousand + [100-999]
  50. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n1)}
  51. W{REGEXP("thousand|thousands")}
  52. W?{REGEXP("and")}
  53. Cardinal{FEATURE("length","3") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + n2 , "length" =  "5") } ;
  54.  
  55. // Format: [0-9] + thousand + [100-999]
  56. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n1)}
  57. W{REGEXP("thousand|thousands")}
  58. W?{REGEXP("and")}
  59. Cardinal{FEATURE("length","3") -> GETFEATURE ("value", n2), CREATE(Cardinal,1,4,"value" = n1 + n2 , "length" =  "4") } ;
  60.  
  61. // Format: a + thousand + [1-9]
  62. W{REGEXP("a")}
  63. W{REGEXP("thousand|thousands")}
  64. W?{REGEXP("and")}
  65. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n1), CREATE(Cardinal,1,4,"value" = "100" + n1, "length" = "4") } ;
  66.  
  67. // Format: a + thousand + [10-99]
  68. W{REGEXP("a")}
  69. W{REGEXP("thousand|thousands")}
  70. W?{REGEXP("and")}
  71. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n1), CREATE(Cardinal,1,4,"value" = "10" + n1 , "length" =  "4") } ;
  72.  
  73. // Format: a + thousand + [100-999]
  74. W{REGEXP("a")}
  75. W{REGEXP("thousand|thousands")}
  76. W?{REGEXP("and")}
  77. Cardinal{FEATURE("length","3") -> GETFEATURE ("value", n1), CREATE(Cardinal,1,4,"value" = "1" + n1 , "length" = "4") } ;
  78.  
  79. // Format: a + thousand + [100-999]
  80. W{REGEXP("a")}
  81. W{REGEXP("thousand|thousands") -> CREATE (Cardinal,1,2,"value" = "1000" , "length" = "4") } ;
  82.  
  83. // Format: [0-9] + thousand
  84. Cardinal{FEATURE ("length","1") -> GETFEATURE ("value", n1)}
  85. W{REGEXP("thousand|thousands") -> CREATE(Cardinal,1,2,"value" = n1 + "000" , "length" =  "4") } ;
  86.  
  87. // Format: [10-99] + thousand
  88. Cardinal{FEATURE ("length","2") -> GETFEATURE ("value", n1)}
  89. W{REGEXP("thousand|thousands") -> CREATE(Cardinal,1,2,"value" = n1 + "000" , "length" =  "5") } ;
  90.  
  91. // Format: [1-9] + k|K
  92. Cardinal{FEATURE("length","1")  -> GETFEATURE("value", n1), SHIFT(Cardinal,1,2) }
  93. W{REGEXP("k|K") -> FILL(Cardinal,"value" = n1 + "000" , "length" = "4") } ;
  94.  
  95. // Format: [1-9] + , + [0-9][0-9][0-9]
  96. NUM{REGEXP("[1-9]")-> MATCHEDTEXT(n1,1)}
  97. COMMA
  98. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n2,3), CREATE (Cardinal,1,3,"value" = n1 + n2, "length" = "4") } ;
  99.  
  100. // Format: [1-9][0-9] + , + [0-9][0-9][0-9]
  101. NUM{REGEXP("[1-9][0-9]")-> MATCHEDTEXT(n1,1)}
  102. COMMA
  103. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n2,3), CREATE (Cardinal,1,3,"value" = n1 + n2, "length" = "5") } ;
  104.  
  105. // Format: [1-9][0-9][0-9] + , + [0-9][0-9][0-9]
  106. NUM{REGEXP("[1-9][0-9][0-9]")-> MATCHEDTEXT(n1,1)}
  107. COMMA
  108. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n2,3), CREATE (Cardinal,1,3,"value" = n1 + n2, "length" = "6") } ;
  109.  
  110. // Format: [1-9] + , + [1-9][0-9][0-9] + , + [0-9][0-9][0-9]
  111. NUM{REGEXP("[1-9]")-> MATCHEDTEXT(n1,1)}
  112. COMMA
  113. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n2,3)}
  114. COMMA
  115. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n3,5), CREATE (Cardinal,1,5,"value" = n1 + n2 + n3, "length" = "7") } ;
  116.  
  117. // Format: [1-9][0-9] + , + [1-9][0-9][0-9] + , + [0-9][0-9][0-9]
  118. NUM{REGEXP("[1-9][0-9]")-> MATCHEDTEXT(n1,1)}
  119. COMMA
  120. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n2,3)}
  121. COMMA
  122. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n3,5), CREATE (Cardinal,1,5,"value" = n1 + n2 + n3, "length" = "8") } ;
  123.  
  124. // Format: [1-9][0-9][0-9] + , + [1-9][0-9][0-9] + , + [0-9][0-9][0-9]
  125. NUM{REGEXP("[1-9][0-9][0-9]")-> MATCHEDTEXT(n1,1)}
  126. COMMA
  127. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n2,3)}
  128. COMMA
  129. NUM{REGEXP("[0-9][0-9][0-9]")-> MATCHEDTEXT(n3,5), CREATE (Cardinal,1,5,"value" = n1 + n2 + n3, "length" = "9") } ;
  130.  
  131. // Format: [10-99] + k|K
  132. Cardinal{FEATURE("length","2")  -> GETFEATURE("value", n1),SHIFT (Cardinal,1,2) }
  133. W{REGEXP("k|K") -> FILL(Cardinal,"value" = n1 + "000" , "length" = "5") } ;
  134.  
  135. // Format: [100-999] + k|K
  136. Cardinal{FEATURE("length","3")  -> GETFEATURE("value", n1),SHIFT (Cardinal,1,2) }
  137. W{REGEXP("k|K") -> FILL(Cardinal,"value" = n1 + "000" , "length" = "6") } ;
  138.  
  139. // Format: [sentence start] + thousand + [100-999]
  140. W{REGEXP("thousand|thousands"),CONTAINS(SentenceStart) -> CREATE (Cardinal,1,"value" = "1000" , "length" = "4") } ;
  141.  
  142. // Format: [10-99] hundred
  143. Cardinal{FEATURE ("length","2")-> GETFEATURE("value", n1) }
  144. W{REGEXP("hundred|hundreds") -> CREATE(Cardinal,1,2,"value" = n1 + "00" , "length" = "4") } ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement