Keyboard Shortcuts
Likes
- H390-Vm
- Messages
Search
This group is for all folks running the original IBM VM/370 Release 6 operating system (or later (e.g. VMTCE (Community Edition)) on Hercules. Like the other early IBM operating systems this version has always been in the public domain and so can be freely distributed. The base version as supplied by IBM is lacking in many facilities. IBM solved this by providing additional extension products which were licensed and so are not available. There are however many user enhancements available which can be installed. In addition, in order to get users up and running quickly updated "releases" of VM/370 included the most popular updates are available for download, so novices can start to learn VM without having to delve into the system internals. It is intended that this wiki will provide information on the base release and these updates.
The available versions are here :-
?
?
Re: Possible bug in BREXX parse instruction
On Mon, Oct 17, 2022 at 10:41 PM, Dave Wade wrote:
It doesn't work in VM370. Jason won't release the source so I can't fix. The library is full of OS macros which breaks many things we do on VMWell, that's the end of that, isn't it? :-) ?... Mark S. Oh what a tangled web we weave, when first we practice to code C. |
Re: Possible bug in BREXX parse instruction
It doesn't work in VM370. Jason won't release the source so I can't fix. The library is full of OS macros which breaks many things we do on VM Dave On Tue, 18 Oct 2022, 03:55 Martin Scheffler, <San-Lorenzo@...> wrote: On Tue, Oct 18, 2022 at 02:39 AM, Mark A. Stevens wrote: |
Re: Possible bug in BREXX parse instruction
On Tue, Oct 18, 2022 at 02:39 AM, Mark A. Stevens wrote:
Makes me wonder if the VM group should consider using JCC rather than GCC. Do you have? Pros/Cons for these two compilers someplace?
|
Re: Possible bug in BREXX parse instruction
On Sun, Oct 16, 2022 at 11:11 PM, Mike Gro?mann wrote:
Makes me wonder if the VM group should consider using JCC rather than GCC. Do you have? Pros/Cons for these two compilers someplace? ?... Mark S. Just what we need. one more thing to do. |
Re: Three questions about VM/CE (Left, middle, and right field question)
toggle quoted message
Show quoted text
-----Original Message-----You youngster. The original version used VMCF but IUCV was added as an option later. Dave |
Re: Three questions about VM/CE (Left, middle, and right field question)
¿ªÔÆÌåÓýBertram, ? I think it would be challenging to get any ¡°C¡± code similar the ¡°Pi¡± DMR code to run on zVM where you have a modern ¡°C¡± compiler. The ¡°C¡± compiler in VM/370 is rather old, and the library is the C90 library so is missing many of the routines modern code requires. In addition, you are limited to a 16Mb virtual machine, unless you start with fiddles. (My calls are G4UGM and EA7KAE) ? As other have said adding devices isn¡¯t so hard so long as it approximates to an existing device. Its common to use a pair of devices as many of the device VM supports are treated as semi-half duples. So when I worked on and X25 package for VM we used a Series/1 which emulated a pair of 3270 screens to pass the X25 traffic into VM ? As others have said, there is no TCPIP support in VM/370 CE There are fiddles but I am not sure how well these work, I have never tried them. The IBM ¡°FAL¡± code which used a service machine to handle the hardware, and then the user VMs used VMCF to pass the TCPIP traffic to the service VM In theory this approach could be used in VM/370 CE as it has VMCF support but it¡¯s a lot of code to write. ? Whilst there are line-by-line browsers I have found them pretty much un-usable on the modern internet¡¡ ? Dave ? ? From: [email protected] <[email protected]> On Behalf Of Bertram Moshier
Sent: 17 October 2022 09:21 To: [email protected] Subject: [h390-vm] Three questions about VM/CE (Left, middle, and right field question) ? Hi, ? I have three questions.? As a side note, I'm a ham radio operator (WB8ERT) and use DMR. ? My left field question would be for fellow ham radio operators.? I understand getting a PI-Raspberry to operate as? a transmit and receive DMR.? Just for fun, I'm wondering about doing the same using VM.? Is it possible, in theory?? I think it should be possible.? The DMR code is in C.? SIO to send and receive and yet . . . ? Middle question:? What is involved in getting herc to see a new device that would then be seen by VM?? I know from my work at Cray Research, Inc, creating hardware for S/370 systems is possible.? We had two hardware devices to talk to a Cray.? One looked like a CTC to the S/370 and the other was by Network Systems.? To our Station software, they looked very similar.? I also worked on the Seagate STK4400 to Cray-1 and Cray-2 interface (using tape connected to the Cray and a 3270 hardware (as I remember) to control the STK for S/370 systems. ? Right field:? Is there an HTTPD for VM/CE? By this I mean a HTTP server for VM/CE?? OH, is it possible again on VM/CE to run a line by line browser.? (Yeah, I remember using the Internet using a line by line browser (but not on VM).? We connected to an Unix system for our Internet work. ? Thank you for your time and consideration. ? |
Re: Another Time Zone Question (Sorta)
¿ªÔÆÌåÓýThis is how we did it when we were running VM/370. We had
ASSEMBLE, OLD, NEW versions of DMKRIO and DMKSNT. For DMKSYS, we
had ASSEMBLE, EST, EDT. We just copied the right (OLD/NEW) file
into ASSEMBLE and built the nucleus. When we made the switch to
SEPP, then we also switched to using new update files for EVERY
change, even when EST->EDT was the same this year as last year.
It was a little tiresome at first but we started doing more
UPDATEs for our own application code. /Tom Kern On 10/15/2022 6:34 PM, Bob Polmanter
wrote:
Jim, |
Re: Possible bug in BREXX parse instruction
On Mon, Oct 17, 2022 at 02:35 PM, Mike Gro?mann wrote:
That's the way Regina works. ?* When the anchor-points are determined, the variables are filled?????? ? ?* in with the parts of the string that comes between each anchor.?????? ? ?* Here is an example:?????????????????????????????????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?*??? parse value 'That is a parse string!' with a b 'is' c d 'i' e????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?* In this example, there are four anchors in the string, the two??????? ? ?* patterns 'is' and 'i', and the two implicit anchors start-of-string?? ? ?* and end-of-string. They anchor particular locations in the string???? ? ?* to the lists of variables: (a b), (c d) and (e). At the first level?? ? ?* the anchors are found and the text between them are deternmined?????? ? ?* (SOS=Start-Of-String, EOS=End-Of-String):???????????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?*??????????????????????????? That is a parse string!??????????????????? ? ?*??? anchors??????????? (SOS)-----is------------i---(EOS)?????????????? ? ?*??? strings in-between????? <a b>? <<<<c d>>>>> <e>??????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? |
Re: Possible bug in BREXX parse instruction
Hi Mike, I am?not a bit mad, and I am sorry I gave that impression. I agree that the literals should be identified first, because they must be used to separate the string being parsed into smaller sections that are processed separately. I think you have the right approach, even if I don't understand?the details of the control flow. Bob On Mon, Oct 17, 2022 at 8:35 AM Mike Gro?mann <mike.grossmann.de@...> wrote:
|
Re: Possible bug in BREXX parse instruction
¿ªÔÆÌåÓýHey Bob, as you know my English is not the best. :) So if I misunderstood something, please don't be angry with me. I know relatively exactly where the problem lies. I just don't have a solution. I'll try to outline the problem. The internal compiler processes the template and puts the following statements on the stack: trest = '() trial 1' Stck:0 0 NEWCLAUSE ?Stck:0 8 CREATE "TREST" ?Stck:1 24 PUSH "() trial 1" ?Stck:2 48 COPY "() trial 1" say 'test of () trial 1' Stck:0 56 NEWCLAUSE ?Stck:0 64 PUSH "test of () trial 1" ?Stck:1 88 SAY "test of () trial 1" s = dotell(trest) Stck:0 96 NEWCLAUSE ?Stck:0 104 CREATE "S" ?Stck:1 120 LOAD "TREST" ?Stck:2 144 CALL DOTELL NoArgs=1, Exist=1 Type=other ?Stck:2 248 LOADARG "() trial 1" ?Stck:3 264 COPY2TMP "() trial 1" ?Stck:3 272 PARSE "() trial 1" ?Stck:3 280 PUSH "(" ?Stck:4 304 TR_LIT "(" // TR_LIT is trying to set break_end to a reasonable value based on the literal position DBG> tr_lit: ToParse='() trial 1' - Lit='(' DBG> tr_lit exit) data_start = 1 DBG> tr_lit exit) break_start = 1 DBG> tr_lit exit) break_end = 2 ?Stck:3 312 CREATE "WITH" ?Stck:4 328 PVAR // Here you can see, that the "WITH" keyword is handled as variable, not as keyword. // "WITH" keyword is not allowed at this context. DBG> OP_PVAR: BreakStart: 1 DBG> OP_PVAR: BreakEnd: 2 DBG> OP_PVAR: DataStart: 1 DBG> OP_PVAR: DataEnd: 1 ?Stck:3 344 TR_SPACE DBG> tr_space 1) data_start = 1 DBG> tr_space 1) break_start = 1 DBG> tr_space 1) break_end = 2 DBG> tr_space 2) data_start = 2 DBG> tr_space 2) break_start = 3 DBG> tr_space 2) break_end = 4 ?Stck:3 352 CREATE "IN1" ?Stck:4 368 PVAR // OP_PVAR operation will extract a value from the parse string into the in1 variable DBG> OP_PVAR: BreakStart: 3 DBG> OP_PVAR: BreakEnd: 4 DBG> OP_PVAR: DataStart: 2 DBG> OP_PVAR: DataEnd: 3 DBG> OP_PVAR: extracting value from '() trial 1' ?(2 to 3) ?Stck:3 384 PUSH ")" ?Stck:4 408 TR_LIT ")" // TR_LIT is trying to set break_end to a reasonable value based on the literal position DBG> tr_lit: ToParse='() trial 1' - Lit=')' DBG> tr_lit 1) pattern_pos = 0 DBG> tr_lit 2) data_start = 4 DBG> tr_lit 2) break_start = 11 DBG> tr_lit 2) break_end = 11 ?Stck:3 416 CREATE "IN2" ?Stck:4 432 PVAR // OP_PVAR operation will extract a value from the parse string into the in2 variablev DBG> OP_PVAR: BreakStart: 11 DBG> OP_PVAR: BreakEnd: 11 DBG> OP_PVAR: DataStart: 4 DBG> OP_PVAR: DataEnd: 11 DBG> OP_PVAR: extracting value from '() trial 1' ?(4 to 11) ?Stck:3 448 TR_END ?Stck:3 456 CREATE "OUTER" ?Stck:4 472 PVAR // OP_PVAR operation will extract a value from the parse string into the outer variable DBG> OP_PVAR: BreakStart: 11 DBG> OP_PVAR: BreakEnd: 11 DBG> OP_PVAR: DataStart: 11 DBG> OP_PVAR: DataEnd: 11 ?Stck:3 488 POP Stck:2 504 NEWCLAUSE ?... ?... ? So, the compiler puts the template on the stack with the information that there must be two variables between two literals.? The interpreter knows now, which operations (TR_LIT and TR_SPACE and PVALUE) must be executed,? in order to bring the values from the input string into the variables. Unfortunately, the parsing algorithm cannot handle? this, if the number of expected variables does not match the "words" in the input string. To bring it to the point. The compiler, which unfortunately also processes its instructions sequentially,? would have to collect all literals first, and only then place the template on the stack.? Then one would have the possibility in the interpreter to process the data, as you described it. If this makes any sense to you. :) Mike
|
Re: Three questions about VM/CE (Left, middle, and right field question)
¿ªÔÆÌåÓýThe answer to your middle question is A LOT of work. ?All of it in C and coded to Hercules internal constructs. However, there is no need to create a "new" device for Internet connectivity. ?The issue is not Hercules, but the guest OS (VM I am assuming) lacks TCP/IP intelligence. ?At this vintage of guest operating system, Hercules offers the TCPIP instruction. ?It allows non-privileged access to the host's native TCP interface for connecting to a host socket. ?This interface has been used to support TCP on MVS. ?What VM/370 work would be required to allow a CMS virtual machine to do the same is an unanswered question. There are a number of "devices" already supported by Hercules for IP connectivity. ?Again, this vintage of VM knows nothing about these Hercules devices, per se. ?Someone who understands the internals of VM/370 would be able to assist with connecting such a device to a CMS guest. ?Some of these device uses CTC channel protocol that VM/370 understands. ?I think the work there is much less. ?Getting CMS the "intelligence" to use the CTC device is another challenge. ?The MVS programs that use the TCPIP instruction might provide a foundation for coding a server or client program. Just a few thoughts on your "middle" question. Harold Grovesteen On Mon, 2022-10-17 at 03:21 -0500, Bertram Moshier wrote:
|
Re: Possible bug in BREXX parse instruction
¿ªÔÆÌåÓýHello Martin,thank you very much for this test tool. It¡¯s working great on MVS, too. ?READY ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? rx ptest $ % cats$dogs%wolves bears boars ? ? ? ? ? ?BREXX/370 V2R5M1 (Oct 14 2022) ? ? ? ? ? ? ? ? ? ? ?DELIMITER_1 = $ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?DELIMITER_2 = % ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?TEMPLATE = OUTER_L'$'INNER_L INNER_R'%'OUTER_R ? ? ?STRING_TO_PARSE = cats$dogs%wolves bears boars ? ? ?OUTER_L = /cats/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?INNER_L = /dogs%wolves/ ? ? ? ? ? ? ? ? ? ? ? ? ?? ?INNER_R = /bears boars/ ? ? ? ? ? ? ? ? ? ? ? ? ?? ?OUTER_R = // ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?READY ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? Best, Mike ?
|
Re: Possible bug in BREXX parse instruction
A quick look into?????? Regina\parsing.c :
/*?????????????????????????????????????????????????????????????????????? ? ?* This implementation of the REXX parse template is quite near to?????? ? ?* what Cowlishaw specified in his book, but there is one very?????????? ? ?* important difference. Cowlishaw sees a template as patterns and?????? ? ?* variables, with patterns in each end (and some of the patterns??????? ? ?* and/or the variables might be empty).???????????????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?* The concept here is any sequence of variables and patterns, and?????? ? ?* the system is parsed into two levels and interpreted as such.???????? ? ?* First there is the level of patterns, which is anchored to??????????? ? ?* particular locations in the string to be parsed.????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?* When the anchor-points are determined, the variables are filled?????? ? ?* in with the parts of the string that comes between each anchor.?????? ? ?* Here is an example:?????????????????????????????????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?*??? parse value 'That is a parse string!' with a b 'is' c d 'i' e????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?* In this example, there are four anchors in the string, the two??????? ? ?* patterns 'is' and 'i', and the two implicit anchors start-of-string?? ? ?* and end-of-string. They anchor particular locations in the string???? ? ?* to the lists of variables: (a b), (c d) and (e). At the first level?? ? ?* the anchors are found and the text between them are deternmined?????? ? ?* (SOS=Start-Of-String, EOS=End-Of-String):???????????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?*??????????????????????????? That is a parse string!??????????????????? ? ?*??? anchors??????????? (SOS)-----is------------i---(EOS)?????????????? ? ?*??? strings in-between????? <a b>? <<<<c d>>>>> <e>??????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?* Now, we have a set of substrings, and to each substring, there is???? ? ?* possibly empty set of variable which are to receive its value from??? ? ?* the contents of that substring. Doing that, we get:?????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?*??? (a b) = 'That '??????? ==> a='That'?? b=' '??????????????????????? ? ?*??? (c d) = ' a parse str' ==> c='a'????? c=' parse str'?????????????? ? ?*??? (e)?? = 'ng!'????????? ==> e='ng!'???????????????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?* To some extent, one might say that there are one anchor between?????? ? ?* each variable, since these match a sequence of blank characters.????? ? ?* However, these have less priority than the explicit patterns.???????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?* This file makes available three functions:??????????????????????????? ? ?*?????????????????????????????????????????????????????????????????????? ? ?*?? doparse()????? parses a single string into a single template??????? ? ?*?? parseargtree() parses a set of strings into a set of templates????? ? ?*?? bmstrstr()???? implementation of Boyer-Moore string search????????? ? ?*/????????????????????????????????????????????????????????????????????? ? |
Re: Possible bug in BREXX parse instruction
Hi Bernd, On VMCE 1.1.2: 1. Logon MAINTC. 2. The tools for maintaining the GCC runtime are on the 19c at filemode 'T'. 3. Establish the brexx code search?order with the command 'BRXSRCH' ? ? a. 193 is the C compiler output TEXT files for BREXX ? ? b. 393 is the compiler source ? ? c. 394 is the H files provided by the? GCC compiler ? ? d. 194 is the GCCLIB?MACLIB need to compile BREXX 4. The compiler is built with these tools: ? ? a. BRXASM?compiles the assembler code on the 393 disk ? ? b. BRXCOMP compiles the C code on the 393 disk ? ? c. BRXGEN?creates the executable output file: BREXX TEXT and BREXX MAP 5. BREXX is integrated into CMS, so perform these steps to install it on MAINT. ? ? LOGON MAINT ? ? DEFINE STOR 16M ? ? IPL 190 CLEAR ? ? NEWBREXX ? ? IPL 190 CLEAR ? ? SAVESYS CMS ? ? DEFINE STOR 15M ? ? IPL CMS There are HELP files on the MAINTC T disk for these commands. Before using them, rename the HELP files with filetype?'HELPCMD' to have filetype 'HELPCM$'. Bob Bolch ? ?? On Sun, Oct 16, 2022, 5:20 PM Bernd Oppolzer via <berndoppolzer=[email protected]> wrote:
|
Re: Possible bug in BREXX parse instruction
Hi Mike, I don't know where the bad code is, but I expect it is probably in the interpre.c piece. There is no code that I could find to handle literals in the parse template.? For example, if we have a string to parse like this one?defined in a variable 'x': a b c ( d e f? g? h i? j? k? And a parse template like: Parse var x one '(' two three four five? ' g'? six? REXX should: 1. Find the literals in the template. Here they are '(' and 'g'. 2. Separate the string into the literals and the parts that are not literals. Those are: String:? a b c Literal: ( String: d e f Literal: g String: h i j k 3. We should then assign the template variables, as follows: Assign value 'a b c' to variable 'one'. Assign value 'd' to variable 'two'. Assign value 'e' to variable 'three'. Assign value 'f' to variable 'four'. Assign value '' to variable 'five'. Assign value 'h i j k' to variable 'six'. t test exec? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* */ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? address COMMAND ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x = 'a b c ( d e f ?g ?h i ?j ?k' ? ? ? ? ? ? ? ? ? Parse var x one '(' two three four five ?' g' ?six say one ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? say two ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? say three ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? say four ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? say five ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? say six ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ready; T=0.01/0.01 07:12:13? ? ? ? ? ? ? test? ? ? ? ? ? ? ? ? ? ? ?? a b c ? ? ? ? ? ? ? ? ? ? ? d ? ? ? ? ? ? ? ? ? ? ? ? ? e ? ? ? ? ? ? ? ? ? ? ? ? ? f ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? h i ?j ?k ? ? ? ? ? ? ? ? Ready; T=0.01/0.01 07:12:34? ? The key here is to parse subsections of the string by first separating?them, using the literals found in the parse template.? ? BREXX doesn't do that on VMCE, or MVS, or in the first implementation by the? developer. BREXX produces:? ? test ? ? ? ? ? ? ? ? ? ? ? ? a b c ? ? ? ? ? ? ? ? ? ? ? d ? ? ? ? ? ? ? ? ? ? ? ? ? e ? ? ? ? ? ? ? ? ? ? ? ? ? f ? ? ? ? ? ? ? ? ? ? ? ? ? g ?h i ?j ?k ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ready; T=0.02/0.02 07:16:28 because it does not process the literals in the parse template correctly. Bob Bolch? On Sun, Oct 16, 2022, 1:25 PM Mike Gro?mann <mike.grossmann.de@...> wrote:
|
Re: Possible bug in BREXX parse instruction
I have rewritten the test tool: literal delimiters and string_to_parse are supplied as arguments.
Usage instructions included. ???????????????????????????????????????????????????????????????????????????????????????????????? ?davtest?????????????????????????????????????????????????????????????????????????????????????? ? CMS bREXX 1.0.1 Jul? 5 2022??????????????????????????????????????????????????????????????????? ? CMS COMMAND davtest davtest??????????????????????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Test tool to research bREXX parsing error, see???????????????????????????????????????????????? ? ?/g/h390-vm/topic/87676003??????????????????????????????????????????????????? ? ?https://github.com/s390guy/vm370/issues/56??????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Usage:?? davtest???? delimiter_1?? delimiter_2????? string_to_parse??????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Example:?? davtest $ % cats$dogs%wolves bears boars??????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Ready(00001); T=0.03/0.04 08:53:16???????????????????????????????????????????????????????????? ? ?davtest $ % cats$dogs%wolves bears boars????????????????????????????????????????????????????? ? CMS bREXX 1.0.1 Jul? 5 2022??????????????????????????????????????????????????????????????????? ? delimiter_1 = $??????????????????????????????????????????????????????????????????????????????? ? delimiter_2 = %??????????????????????????????????????????????????????????????????????????????? ? template = outer_l'$'inner_l inner_r'%'outer_r???????????????????????????????????????????????? ? string_to_parse = cats$dogs%wolves bears boars???????????????????????????????????????????????? ? outer_l = /cats/?????????????????????????????????????????????????????????????????????????????? ? inner_l = /dogs%wolves/??????????????????????????????????????????????????????????????????????? ? inner_r = /bears boars/??????????????????????????????????????????????????????????????????????? ? outer_r = //?????????????????????????????????????????????????????????????????????????????????? ? Ready; T=0.03/0.03 08:53:28??????????????????????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? ?davtest?????????????????????????????????????????????????????????????????????????????????????? ? REXX370 4.02 01 Dec 1998?????????????????????????????????????????????????????????????????????? ? CMS COMMAND DAVTEST EXEC A1 davtest CMS??????????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Test tool to research bREXX parsing error, see???????????????????????????????????????????????? ? ?/g/h390-vm/topic/87676003??????????????????????????????????????????????????? ? ?https://github.com/s390guy/vm370/issues/56??????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Usage:?? DAVTEST???? delimiter_1?? delimiter_2????? string_to_parse??????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Example:?? DAVTEST $ % cats$dogs%wolves bears boars??????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? Ready(00001); T=0.01/0.01 03:50:31???????????????????????????????????????????????????????????? ? ?DAVTEST $ % cats$dogs%wolves bears boars????????????????????????????????????????????????????? ? REXX370 4.02 01 Dec 1998?????????????????????????????????????????????????????????????????????? ? delimiter_1 = $??????????????????????????????????????????????????????????????????????????????? ? delimiter_2 = %??????????????????????????????????????????????????????????????????????????????? ? template = outer_l'$'inner_l inner_r'%'outer_r???????????????????????????????????????????????? ? string_to_parse = cats$dogs%wolves bears boars???????????????????????????????????????????????? ? outer_l = /cats/?????????????????????????????????????????????????????????????????????????????? ? inner_l = /dogs/?????????????????????????????????????????????????????????????????????????????? ? inner_r = //?????????????????????????????????????????????????????????????????????????????????? ? outer_r = /wolves bears boars/???????????????????????????????????????????????????????????????? ? Ready; T=0.01/0.01 03:50:41??????????????????????????????????????????????????????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? *** side by side:????????????????????????????????????????????????????????????????????????????? ? ??????????????????????????????????????????????????????????????????????????????????????????????? ?davtest $ % cats$dogs%wolves bears boars??????? DAVTEST $ % cats$dogs%wolves bears boars????? ? CMS bREXX 1.0.1 Jul? 5 2022???????????????????? REXX370 4.02 01 Dec 1998?????????????????????? ? delimiter_1 = $???????????????????????????????? delimiter_1 = $??????????????????????????????? ? delimiter_2 = %???????????????????????????????? delimiter_2 = %??????????????????????????????? ? template = outer_l'$'inner_l inner_r'%'outer_r? template = outer_l'$'inner_l inner_r'%'outer_r ? string_to_parse = cats$dogs%wolves bears boars? string_to_parse = cats$dogs%wolves bears boars ? outer_l = /cats/??????????????????????????????? outer_l = /cats/?????????????????????????????? ? inner_l = /dogs%wolves/???????????????????????? inner_l = /dogs/?????????????????????????????? ? inner_r = /bears boars/???????????????????????? inner_r = //?????????????????????????????????? ? outer_r = //??????????????????????????????????? outer_r = /wolves bears boars/???????????????? ? Ready; T=0.03/0.03 08:53:28???????????????????? Ready; T=0.01/0.01 03:50:41??????????????????? ? ?????????????????????????????????????????????????????????????????????????????????????????????? ? File: DAVTEST? EXEC???? A1?????? RECFM: V LRECL: 125(255) Lines:??? 40 Current:??? 12????????? ? ====>????????????????????????????????????????????????????????????????????????????????????????? ? ??? 0 * * * Top of file * * *????????????????????????????????????????????????????????????????? ? ??? 1 /* REXX */?????????????????????????????????????????????????????????????????????????????? ? ??? 2 signal on novalue??????????????????????????????????????????????????????????????????????? ? ??? 3 parse version v????????????????????????????????????????????????????????????????????????? ? ??? 4 say v??????????????????????????????????????????????????????????????????????????????????? ? ??? 5 parse source? s????????????????????????????????????????????????????????????????????????? ? ??? 6????????????????????????????????????????????????????????????????????????????????????????? ? ??? 7 parse arg delimiter_1 delimiter_2 string_to_parse??????????????????????????????????????? ? ??? 8 if strip(string_to_parse) = "" then signal usage???????????????????????????????????????? ? ??? 9????????????????????????????????????????????????????????????????????????????????????????? ? ?? 10 template = "outer_l'"delimiter_1"'inner_l inner_r'"delimiter_2"'outer_r"???????????????? ? ?? 11 say "delimiter_1 =" delimiter_1????????????????????????????????????????????????????????? ? ?? 12 say "delimiter_2 =" delimiter_2????????????????????????????????????????????????????????? ? ?? 13 say "template =" template??????????????????????????????????????????????????????????????? ? ?? 14 say "string_to_parse =" string_to_parse????????????????????????????????????????????????? ? ?? 15????????????????????????????????????????????????????????????????????????????????????????? ? ?? 16 interpret "parse var string_to_parse" template?????????????????????????????????????????? ? ?? 17 say "outer_l = /"outer_l"/"????????????????????????????????????????????????????????????? ? ?? 18 say "inner_l = /"inner_l"/"????????????????????????????????????????????????????????????? ? ?? 19 say "inner_r = /"inner_r"/"????????????????????????????????????????????????????????????? ? ?? 20 say "outer_r = /"outer_r"/"????????????????????????????????????????????????????????????? ? ?? 21 exit 0?????????????????????????????????????????????????????????????????????????????????? ? ?? 22????????????????????????????????????????????????????????????????????????????????????????? ? ?? 23 usage:?????????????????????????????????????????????????????????????????????????????????? ? ?? 24 say s??????????????????????????????????????????????????????????????????????????????????? ? ?? 25 parse var s . . my_name .??????????????????????????????????????????????????????????????? ? ?? 26 say " "????????????????????????????????????????????????????????????????????????????????? ? ?? 27 say "Test tool to research bREXX parsing error, see"???????????????????????????????????? ? ?? 28 say " /g/h390-vm/topic/87676003"??????????????????????????????????????? ? ?? 29 say " https://github.com/s390guy/vm370/issues/56"??????????????????????????????????????? ? ?? 30 say " "????????????????????????????????????????????????????????????????????????????????? ? ?? 31 say " "????????????????????????????????????????????????????????????????????????????????? ? ?? 32 say "Usage:? " my_name "??? delimiter_1?? delimiter_2????? string_to_parse "???????????? ? ?? 33 say " "????????????????????????????????????????????????????????????????????????????????? ? ?? 34 say "Example:? " my_name "$ % cats$dogs%wolves bears boars"????????????????????????????? ? ?? 35 say " "????????????????????????????????????????????????????????????????????????????????? ? ?? 36 exit 1?????????????????????????????????????????????????????????????????????????????????? ? ?? 37 novalue:???????????????????????????????????????????????????????????????????????????????? ? ?? 38 say "*** ABORT: NOVALUE condition in line" sigl????????????????????????????????????????? ? ?? 39 say "***" sourceline(sigl)?????????????????????????????????????????????????????????????? ? ?? 40 exit 777???????????????????????????????????????????????????????????????????????????????? ? ????? * * * End of file * * *????????????????????????????????????????????????????????????????? ? Unchanged?????????????????????????????????? ee V1.2.5_2022-10-08_12:50:00,? 5 File(s)????????? ? |
Three questions about VM/CE (Left, middle, and right field question)
Hi, I have three questions.? As a side note, I'm a ham radio operator (WB8ERT) and use DMR. My left field question would be for fellow ham radio operators.? I understand getting a PI-Raspberry to operate as? a transmit and receive DMR.? Just for fun, I'm wondering about doing the same using VM.? Is it possible, in theory?? I think it should be possible.? The DMR code is in C.? SIO to send and receive and yet . . . Middle question:? What is involved in getting herc to see a new device that would then be seen by VM?? I know from my work at Cray Research, Inc, creating hardware for S/370 systems is possible.? We had two hardware devices to talk to a Cray.? One looked like a CTC to the S/370 and the other was by Network Systems.? To our Station software, they looked very similar.? I also worked on the Seagate STK4400 to Cray-1 and Cray-2 interface (using tape connected to the Cray and a 3270 hardware (as I remember) to control the STK for S/370 systems. Right field:? Is there an HTTPD for VM/CE? By this I mean a HTTP server for VM/CE?? OH, is it possible again on VM/CE to run a line by line browser.? (Yeah, I remember using the Internet using a line by line browser (but not on VM).? We connected to an Unix system for our Internet work. Thank you for your time and consideration. |