New answers tagged

9

A major idea of concatenative languages is that the syntax and semantic domain form monoids and the semantics is a monoid homomorphism. The syntax is the free monoid generated by the basic operations, better known as a list. It's operation is list concatenation, i.e. (++) in Haskell. In the untyped context, the semantic domain is just the monoid of ...


2

LL parsing must predict which production will be used before it starts parsing the contents of that production. (It is a top-down parse — it constructs the parse node and then fills in the children.) LR parsing is bottom-up; first it lets the children be recognised, and only then does it apply the production and create the parse node. Consequently, it ...


1

Let me answer your questions very quickly: NextChar(char) reads a character and assigns it to the variable char. The new character is appended to the current lexeme being built via the command lexeme = lexeme + char. The table Delta implements the transition function $\delta$ of a DFA (sometimes called an FSM). There is a lot of information on DFAs on the ...


Top 50 recent answers are included