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
Lithe
(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!
==Overview== The standard [[class-based programming]] model does not specify a mechanism by which to manipulate objects: where [[Smalltalk]] uses message passing, Lithe uses [[syntax-directed translation]] (SDT). SDT is a method of translating a string into a sequence of ''actions'' by attaching one such action to each rule of a grammar. Thus, parsing a string of the grammar produces a sequence of rule applications. Lithe merges SDT with the class model by using classes as the non-terminal alphabet of the grammar. Since the grammar class used by Lithe properly contains all context-free grammars, a wide variety of syntax can be described, and SDT provides a simple way to attach semantics to any such syntax. The ''package'' is the unit of [[modularity (programming)|program modularity]] in Lithe. A package is divided into two parts: one that defines classes and another that defines rules. [[Information hiding]] is achieved by requiring both ''export'' keywords on those rules and classes that are to be seen outside a package ''and'' that the source package names be included in the ''with'' clause of the consumer package.
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)