Language peer sets for SCAN: Designed 1972 ↑ 1970s languages ↑ Third generation↑ High Cold War↑ Genus Text analysis ↑ Text analysis↑ Content-related↑ Content-reflexive ↑ Text analysis/1972↑ Content-related/1972↑ Content-reflexive/1972↑
SCAN(ID:4362/sca010)
Conversational programming language for text analysis
alternate simple view
Designed 1972
Genus: Text analysis Conversational programming language for text analysis
Samples:
MODULE Cat_To_Fox; TOKEN Char_Pattern { 'cat' }; MACRO Token_Pattern TRIGGER { Char_Pattern }; ANSWER 'fox'; END MACRO /* Token_Pattern */; PROCEDURE Director MAIN; START SCAN INPUT STRING 'The quick brown cat jumps over the lazy dog' OUTPUT FILE 'TT:' END PROCEDURE /* Director */; END MODULE /* Cat_To_Fox */;
DECLARE t : TREEPTR( STRING ) TO INTEGER; t = FIRST( Language_Users ); WHILE t <> NIL; WRITE SUBSCRIPT( t ), ' ', VALUE (t); t = NEXT( t ); END WHILE;
MODULE WordCount; SET Alpha ( 'a' .. 'z' ); TOKEN Word CASELESS { Alpha... }; DECLARE N_Words : INTEGER; MACRO Get_Word TRIGGER { Word }; N_Words = N_Words + 1; END MACRO /* Get_Word */; PROCEDURE Director MAIN; START SCAN INPUT FILE 'SCN$INPUT' OUTPUT FILE 'NL:'; WRITE 'Total Word Count = ', N_Words; END PROCEDURE /* Director */; END MODULE /* Word-Count */;
MODULE Fox_Count; SET Alpha { 'a' .. 'z' ); TOKEN Cat_Key CASELESS { 'cat' }; TOKEN Single_Char CASELESS { Alpha }; DECLARE Char_Tree : TREE (STRING) OF INTEGER; MACRO Cat_To_Fox TRIGGER { Cat_Key }; ANSWER TRIGGER 'fox'; END MACRO /* Cat_To_Fox */; MACRO Char_Count TRIGGER { This_Char : Single_Char }; This_Char = LOWER{ This_Char ); Char_Tree( This_Char ) = Char_Tree( This_Char ) + 1; END MACRO /* Char_Count */; PROCEDURE Director MAIN; DECLARE t : TREEPTR( STRING ) TO INTEGER; START SCAN INPUT STRING 'The quick brown cat jumps over the lazy dog' OUTPUT FILE 'TT:'; t = FIRST( Char_Tree }; WHILE t <> NIL; WRITE SUBSCRIPT t ), ' ', VALUE (t); t = NEXT( t ); END WHILE; END PROCEDURE /* Director */; END MODULE /* Fox-Count */;
References:
Brown P.J. (1972) Brown P.J. "SCAN: A Simple Conversational Programming Language for Text Analysis" p223-227.
in (1972) Computers and the Humanities, 4 March 1972
Sammet (1972) Sammet, Jean E., "Roster of Programming Languages 1972" 248
in (1972) Computers & Automation 21(6B), 30 Aug 1972
Stock and Stock (1973) Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 521
Abstract in (1972) Computers & Automation 21(6B), 30 Aug 1972
Axford et al (1977) Axford, T.H., Diana Burkhardt, W.P. Dodd, Susan Laflin, D.G. Parkyn and P. Ramsay "ATOL:* A Simple Language with Powerful Data Structuring Facilities" Computer Centre, University of Birmingham, Birmingham U.K.
in (1972) Computers & Automation 21(6B), 30 Aug 1972