Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,11 +0,0 @@
|
|||
package Simple_Parse is
|
||||
-- a very simplistic parser, useful to split a string into words
|
||||
|
||||
function Next_Word(S: String; Point: in out Positive)
|
||||
return String;
|
||||
-- a "word" is a sequence of non-space characters
|
||||
-- if S(Point .. S'Last) holds at least one word W
|
||||
-- then Next_Word increments Point by len(W) and returns W.
|
||||
-- else Next_Word sets Point to S'Last+1 and returns ""
|
||||
|
||||
end Simple_Parse;
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
package body Simple_Parse is
|
||||
|
||||
function Next_Word(S: String; Point: in out Positive) return String is
|
||||
Start: Positive := Point;
|
||||
Stop: Natural;
|
||||
begin
|
||||
while Start <= S'Last and then S(Start) = ' ' loop
|
||||
Start := Start + 1;
|
||||
end loop; -- now S(Start) is the first non-space,
|
||||
-- or Start = S'Last+1 if S is empty or space-only
|
||||
Stop := Start-1; -- now S(Start .. Stop) = ""
|
||||
while Stop < S'Last and then S(Stop+1) /= ' ' loop
|
||||
Stop := Stop + 1;
|
||||
end loop; -- now S(Stop+1) is the first sopace after Start
|
||||
-- or Stop = S'Last if there is no such space
|
||||
Point := Stop+1;
|
||||
return S(Start .. Stop);
|
||||
end Next_Word;
|
||||
|
||||
end Simple_Parse;
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
with Ada.Text_IO, Simple_Parse;
|
||||
|
||||
procedure Reverse_Words is
|
||||
|
||||
function Reverse_Words(S: String) return String is
|
||||
Cursor: Positive := S'First;
|
||||
Word: String := Simple_Parse.Next_Word(S, Cursor);
|
||||
begin
|
||||
if Word = "" then
|
||||
return "";
|
||||
else
|
||||
return Reverse_Words(S(Cursor .. S'Last)) & " " & Word;
|
||||
end if;
|
||||
end Reverse_Words;
|
||||
|
||||
use Ada.Text_IO;
|
||||
begin
|
||||
while not End_Of_File loop
|
||||
Put_Line(Reverse_Words(Get_Line)); -- poem is read from standard input
|
||||
end loop;
|
||||
end Reverse_Words;
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
program-id. rev-word.
|
||||
data division.
|
||||
working-storage section.
|
||||
1 text-block.
|
||||
2 pic x(36) value "---------- Ice and Fire ------------".
|
||||
2 pic x(36) value " ".
|
||||
2 pic x(36) value "fire, in end will world the say Some".
|
||||
2 pic x(36) value "ice. in say Some ".
|
||||
2 pic x(36) value "desire of tasted I've what From ".
|
||||
2 pic x(36) value "fire. favor who those with hold I ".
|
||||
2 pic x(36) value " ".
|
||||
2 pic x(36) value "... elided paragraph last ... ".
|
||||
2 pic x(36) value " ".
|
||||
2 pic x(36) value "Frost Robert -----------------------".
|
||||
1 redefines text-block.
|
||||
2 occurs 10.
|
||||
3 text-line pic x(36).
|
||||
1 text-word.
|
||||
2 wk-len binary pic 9(4).
|
||||
2 wk-word pic x(36).
|
||||
1 word-stack.
|
||||
2 occurs 10.
|
||||
3 word-entry.
|
||||
4 word-len binary pic 9(4).
|
||||
4 word pic x(36).
|
||||
1 binary.
|
||||
2 i pic 9(4).
|
||||
2 pos pic 9(4).
|
||||
2 word-stack-ptr pic 9(4).
|
||||
|
||||
procedure division.
|
||||
perform varying i from 1 by 1
|
||||
until i > 10
|
||||
perform push-words
|
||||
perform pop-words
|
||||
end-perform
|
||||
stop run
|
||||
.
|
||||
|
||||
push-words.
|
||||
move 1 to pos
|
||||
move 0 to word-stack-ptr
|
||||
perform until pos > 36
|
||||
unstring text-line (i) delimited by all space
|
||||
into wk-word count in wk-len
|
||||
pointer pos
|
||||
end-unstring
|
||||
add 1 to word-stack-ptr
|
||||
move text-word to word-entry (word-stack-ptr)
|
||||
end-perform
|
||||
.
|
||||
|
||||
pop-words.
|
||||
perform varying word-stack-ptr from word-stack-ptr
|
||||
by -1
|
||||
until word-stack-ptr < 1
|
||||
move word-entry (word-stack-ptr) to text-word
|
||||
display wk-word (1:wk-len) space with no advancing
|
||||
end-perform
|
||||
display space
|
||||
.
|
||||
end program rev-word.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import extensions;
|
||||
import system'routines;
|
||||
|
||||
public program()
|
||||
public Program()
|
||||
{
|
||||
var text := new string[]{"---------- Ice and Fire ------------",
|
||||
"",
|
||||
|
|
@ -18,8 +18,8 @@ public program()
|
|||
{
|
||||
line.splitBy(" ").sequenceReverse().forEach::(word)
|
||||
{
|
||||
console.print(word," ")
|
||||
Console.print(word," ")
|
||||
};
|
||||
console.writeLine()
|
||||
Console.writeLine()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
(defun reverse-words (line)
|
||||
(insert
|
||||
(format "%s\n"
|
||||
(mapconcat 'identity (reverse (split-string line)) " "))))
|
||||
|
||||
(defun reverse-lines (lines)
|
||||
(mapcar 'reverse-words lines))
|
||||
|
||||
(reverse-lines
|
||||
'("---------- Ice and Fire ------------"
|
||||
""
|
||||
"fire, in end will world the say Some"
|
||||
"ice. in say Some"
|
||||
"desire of tasted I've what From"
|
||||
"fire. favor who those with hold I"
|
||||
""
|
||||
"... elided paragraph last ..."
|
||||
""
|
||||
"Frost Robert ----------------------- "))
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
Function Reverse-Words($lines) {
|
||||
$lines | foreach {
|
||||
$array = $PSItem.Split(' ')
|
||||
$array[($array.Count-1)..0] -join ' '
|
||||
}
|
||||
}
|
||||
|
||||
$lines =
|
||||
"---------- Ice and Fire ------------",
|
||||
"",
|
||||
"fire, in end will world the say Some",
|
||||
"ice. in say Some",
|
||||
"desire of tasted I've what From",
|
||||
"fire. favor who those with hold I",
|
||||
"",
|
||||
"... elided paragraph last ...",
|
||||
"",
|
||||
"Frost Robert -----------------------"
|
||||
|
||||
Reverse-Words($lines)
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
Option Explicit
|
||||
|
||||
Dim objFSO, objInFile, objOutFile
|
||||
Dim srcDir, line
|
||||
|
||||
Set objFSO = CreateObject("Scripting.FileSystemObject")
|
||||
|
||||
srcDir = objFSO.GetParentFolderName(WScript.ScriptFullName) & "\"
|
||||
|
||||
Set objInFile = objFSO.OpenTextFile(srcDir & "In.txt",1,False,0)
|
||||
|
||||
Set objOutFile = objFSO.OpenTextFile(srcDir & "Out.txt",2,True,0)
|
||||
|
||||
Do Until objInFile.AtEndOfStream
|
||||
line = objInFile.ReadLine
|
||||
If line = "" Then
|
||||
objOutFile.WriteLine ""
|
||||
Else
|
||||
objOutFile.WriteLine Reverse_String(line)
|
||||
End If
|
||||
Loop
|
||||
|
||||
Function Reverse_String(s)
|
||||
Dim arr, i
|
||||
arr = Split(s," ")
|
||||
For i = UBound(arr) To LBound(arr) Step -1
|
||||
If arr(i) <> "" Then
|
||||
If i = UBound(arr) Then
|
||||
Reverse_String = Reverse_String & arr(i)
|
||||
Else
|
||||
Reverse_String = Reverse_String & " " & arr(i)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End Function
|
||||
|
||||
objInFile.Close
|
||||
objOutFile.Close
|
||||
Set objFSO = Nothing
|
||||
Loading…
Add table
Add a link
Reference in a new issue