Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Object REXX
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== External packages and libraries == Using the <code>::REQUIRES</code> [[Object REXX#Instructions|directive]] and specifying the <code>LIBRARY</code> option, external libraries can be integrated per program. Such libraries are usually organized around domain-specific functions.<ref name=":2" /> === Supplied with interpreter === The Rexx extension library offers classes for reading and writing [[comma-separated values]] (CSV) files, as well as for creating and processing [[JSON|JavaScript Object Notation]] (JSON) data. A library called “hostemenu” is also included, which partially emulates a [[Time Sharing Option|TSO]]/[[Content management system|CMS]] environment.<ref>{{Cite book |last1=Ashley |first1=W. David |url=https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0/rexxextensions.pdf |title=ooRexx Documentation 5.0.0 Rexx Extensions Library Reference |last2=Flatscher |first2=Rony G. |last3=Hessling |first3=Mark |last4=McGuire |first4=Rick |last5=Peedin |first5=Lee |last6=Sims |first6=Oliver |last7=Wolfers |first7=Jon |publisher=RexxLA |year=2022}}</ref> The RxSock native library enables to incorporate [[Internet protocol suite|TCP/IP protocols]],<ref>{{Cite book |last1=Ashley |first1=W. David |url=https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0/rxsock.pdf |title=ooRexx Documentation 5.0.0 RxSock TCP/IP Socket Functions Reference |last2=Flatscher |first2=Rony G. |last3=Hessling |first3=Mark |last4=McGuire |first4=Rick |last5=Peedin |first5=Lee |last6=Sims |first6=Oliver |last7=Wolfers |first7=Jon |publisher=RexxLA |year=2022}}</ref> while the RxFtp native library<ref>{{Cite book |last1=Ashley |first1=W. David |url=https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0/rxftp.pdf |title=ooRexx Documentation 5.0.0 RxFtp Class Library Reference |last2=Flatscher |first2=Rony G. |last3=Hessling |first3=Mark |last4=McGuire |first4=Rick |last5=Peedin |first5=Lee |last6=Sims |first6=Oliver |last7=Wolfers |first7=Jon |publisher=RexxLA |year=2022}}</ref> specifically provides access to the [[File Transfer Protocol|file transfer protocol]] (FTP). The RxMath native library offers advanced mathematical functions such as square root calculation, exponential function, logarithm, sine, cosine, tangent, arc sine and power calculation.<ref>{{Cite book |last1=Ashley |first1=W. David |url=https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0/rxmath.pdf |title=ooRexx Documentation 5.0.0 RxMath Math Functions Reference |last2=Flatscher |first2=Rony G. |last3=Hessling |first3=Mark |last4=McGuire |first4=Rick |last5=Peedin |first5=Lee |last6=Sims |first6=Oliver |last7=Wolfers |first7=Jon |publisher=RexxLA |year=2022}}</ref> <syntaxhighlight lang="oorexx" style="background-color: #ffffff; !important" line="1"> Say rxcalcsin(1) /* output: 0.0174524064 */ ::requires 'rxmath' LIBRARY /* load a native library */ </syntaxhighlight> For Windows, ooRexx includes the ooDialog framework allowing to produce [[Dialog box|Windows dialogs]] and therefore [[Graphical user interface|graphical user interfaces]].<ref>{{Cite book |last1=Ashley |first1=W. David |url=https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0/oodialog.pdf |title=ooRexx Documentation 4.2.4 ooDialog Reference |last2=Flatscher |first2=Rony G. |last3=McGuire |first3=Rick |last4=Peedin |first4=Lee |last5=Sims |first5=Oliver |last6=Wolfers |first6=Jon |publisher=RexxLA |year=2019}}</ref> The interpreter is delivered with several example programs and function packages that demonstrate the use of this framework.<ref name=":9" /> For [[POSIX]]-compatible operating systems, the orxnCurses class library enables the writing of [[Text-based user interface|text-based user interfaces]] using the [[ncurses]] programming library.<ref>{{Cite book |last1=Ashley |first1=W. David |url=https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0/orxncurses.pdf |title=ooRexx Documentation 5.0.0 nCurses Class Library Reference |last2=Flatscher |first2=Rony G. |last3=Hessling |first3=Mark |last4=McGuire |first4=Rick |last5=Peedin |first5=Lee |last6=Sims |first6=Oliver |last7=Steinböck |first7=Erich |last8=Wolfers |first8=Jon |publisher=RexxLA |year=2022}}</ref> The RxUnixSys library provides functions on most [[Unix]] systems for interacting with processes and threads, users and user groups, files and [[File system|file systems]] and other.<ref>{{Cite book |last1=Ashley |first1=W. David |url=https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0/unixextensions.pdf |title=ooRexx Documentation 5.0.0 Unix Extensions Function Reference |last2=Flatscher |first2=Rony G. |last3=Hessling |first3=Mark |last4=McGuire |first4=Rick |last5=Peedin |first5=Lee |last6=Sims |first6=Oliver |last7=Steinböck |first7=Erich |last8=Wolfers |first8=Jon |publisher=RexxLA |year=2022}}</ref> Many of these external packages and libraries are also compatible with other [[Rexx#Toolkits|Rexx implementations]]. === Not supplied with interpreter === {{stub-section|date=January 2025}} There are also packages that need to be downloaded and added manually. As part of the Net-oo-rexx bundle, the Regex package enables handling regular expressions, while Log4rexx provides a logging framework and Oorexxshell an interactive ooRexx shell.<ref name=":12" /> The Mod_Rexx package provides a module for [[Apache HTTP Server|Apache]] 2.4 that gives an interface to ooRexx under Windows, AIX and Linux and enables all phases of an Apache request to be processed.<ref>{{Cite web |date=2022-01-17 |title=Mod_rexx |url=https://sourceforge.net/projects/modrexx/ |access-date=2025-02-04 |website=SourceForge |language=en}}</ref> The Rexx Parser package provides an [[abstract syntax tree]] parser for Rexx and ooRexx, which assigns a category to all script elements, while the Rexx Highlighter package expands the parser and enables highlighting to be output as HTML, [[ANSI escape code|ANSI colors]], [[LuaTeX|LuaTex]] and [[LaTeX]].<ref>{{Cite web |title=The Rexx Parser |url=https://rexx.epbcn.com/rexx-parser/ |access-date=2025-02-04 |website=rexx.epbcn.com}}</ref><ref>{{Cite web |title=The Rexx Highlighter |url=https://rexx.epbcn.com/rexx-parser/doc/highlighter/ |access-date=2025-02-04 |website=rexx.epbcn.com}}</ref> The Rexx XML parser enables the parsing of [[XML]] files into an in-memory model and access to this model via a [[Document Object Model|DOM]]-like API.<ref>{{Citation |last=Armstrong |first=Andrew |title=abend0c1/rexxxmlparser |date=2024-12-02 |url=https://github.com/abend0c1/rexxxmlparser |access-date=2025-02-14}}</ref> ooRexxUnit is a test framework inspired by [[JUnit]] that enables the execution of ooRexx test cases that help to verify whether an application's specifications are met.<ref>{{Cite journal |last=Flatscher |first=Rony G. |year=2006 |title=ooRexxUnit: A JUnit Compliant Testing Framework for ooRexx Programs |url=https://wi.wu.ac.at/rgf/rexx/orx17/ |journal=The 2006 International Rexx Symposium}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)