$SPAD/src/input string.input

Timothy Daly December 3, 2016

Abstract

Contents

2

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool string.output
)set message test on
)set message auto off
)clear all
--S 1 of 35
hello := "Hello, I'm AXIOM!"
--R
--R
--R   (1)  "Hello, I'm AXIOM!"
--R                                                                 Type: String
--E 1
--S 2 of 35
said  := "Jane said, _"Look!_""
--R
--R
--R   (2)  "Jane said, "Look!""
--R                                                                 Type: String
--E 2
--S 3 of 35
saw   := "She saw exactly one underscore: __."
--R
--R
--R   (3)  "She saw exactly one underscore: _."
--R                                                                 Type: String
--E 3
--S 4 of 35
gasp: String := new(32, char "x")
--R
--R
--R   (4)  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--R                                                                 Type: String
--E 4
--S 5 of 35
#gasp
--R

--R
--R   (5)  32
--R                                                        Type: PositiveInteger
--E 5
--S 6 of 35
hello.2
--R
--R
--R   (6)  e
--R                                                              Type: Character
--E 6
--S 7 of 35
hello 2
--R
--R
--R   (7)  e
--R                                                              Type: Character
--E 7
--S 8 of 35
hello(2)
--R
--R
--R   (8)  e
--R                                                              Type: Character
--E 8
--S 9 of 35
hullo := copy hello
--R
--R
--R   (9)  "Hello, I'm AXIOM!"
--R                                                                 Type: String
--E 9
--S 10 of 35
hullo.2 := char "u"; [hello, hullo]
--R
--R
--R   (10)  ["Hello, I'm AXIOM!","Hullo, I'm AXIOM!"]
--R                                                           Type: List(String)
--E 10
--S 11 of 35
saidsaw := concat ["alpha","---","omega"]
--R
--R
--R   (11)  "alpha---omega"

--R                                                                 Type: String
--E 11
--S 12 of 35
concat("hello ","goodbye")
--R
--R
--R   (12)  "hello goodbye"
--R                                                                 Type: String
--E 12
--S 13 of 35
"This " "is " "several " "strings " "concatenated."
--R
--R
--R   (13)  "This is several strings concatenated."
--R                                                                 Type: String
--E 13
--S 14 of 35
hello(1..5)
--R
--R
--R   (14)  "Hello"
--R                                                                 Type: String
--E 14
--S 15 of 35
hello(8..)
--R
--R
--R   (15)  "I'm AXIOM!"
--R                                                                 Type: String
--E 15
--S 16 of 35
split(hello, char " ")
--R
--R
--R   (16)  ["Hello,","I'm","AXIOM!"]
--R                                                           Type: List(String)
--E 16
--S 17 of 35
other := complement alphanumeric();
--R
--R
--R                                                         Type: CharacterClass
--E 17

--S 18 of 35
split(saidsaw, other)
--R
--R
--R   (18)  ["alpha","omega"]
--R                                                           Type: List(String)
--E 18
--S 19 of 35
trim     ("## ++ relax ++ ##", char "#")
--R
--R
--R   (19)  " ++ relax ++ "
--R                                                                 Type: String
--E 19
--S 20 of 35
trim     ("## ++ relax ++ ##", other)
--R
--R
--R   (20)  "relax"
--R                                                                 Type: String
--E 20
--S 21 of 35
leftTrim ("## ++ relax ++ ##", other)
--R
--R
--R   (21)  "relax ++ ##"
--R                                                                 Type: String
--E 21
--S 22 of 35
rightTrim("## ++ relax ++ ##", other)
--R
--R
--R   (22)  "## ++ relax"
--R                                                                 Type: String
--E 22
--S 23 of 35
upperCase hello
--R
--R
--R   (23)  "HELLO, I'M AXIOM!"
--R                                                                 Type: String
--E 23
--S 24 of 35
lowerCase hello

--R
--R
--R   (24)  "hello, i'm axiom!"
--R                                                                 Type: String
--E 24
--S 25 of 35
prefix?("He", "Hello")
--R
--R
--R   (25)  true
--R                                                                Type: Boolean
--E 25
--S 26 of 35
prefix?("Her", "Hello")
--R
--R
--R   (26)  false
--R                                                                Type: Boolean
--E 26
--S 27 of 35
suffix?("", "Hello")
--R
--R
--R   (27)  true
--R                                                                Type: Boolean
--E 27
--S 28 of 35
suffix?("LO", "Hello")
--R
--R
--R   (28)  false
--R                                                                Type: Boolean
--E 28
--S 29 of 35
substring?("ll", "Hello", 3)
--R
--R
--R   (29)  true
--R                                                                Type: Boolean
--E 29
--S 30 of 35
substring?("ll", "Hello", 4)
--R
--R

--R   (30)  false
--R                                                                Type: Boolean
--E 30
--S 31 of 35
n := position("nd", "underground",   1)
--R
--R
--R   (31)  2
--R                                                        Type: PositiveInteger
--E 31
--S 32 of 35
n := position("nd", "underground", n+1)
--R
--R
--R   (32)  10
--R                                                        Type: PositiveInteger
--E 32
--S 33 of 35
n := position("nd", "underground", n+1)
--R
--R
--R   (33)  0
--R                                                     Type: NonNegativeInteger
--E 33
--S 34 of 35
position(char "d", "underground", 1)
--R
--R
--R   (34)  3
--R                                                        Type: PositiveInteger
--E 34
--S 35 of 35
position(hexDigit(), "underground", 1)
--R
--R
--R   (35)  3
--R                                                        Type: PositiveInteger
--E 35
)spool
)lisp (bye)

———-

References^{[1] nothing}

9