Navigation
Synopsis Table of Contents.
Description
  • Contents: Table of Contents.
    • Basic: Some basic, hello world-like, examples of Rascal programs.
      • Hello: Variations on the ubiquitous Hello World example.
        • Factorial: Compute the factorial function.
          • Squares: Print a list of squares
            • BottlesOfBeer: A Rascal version of a generator for the 99 Bottles of Beer song.
              • Bubble: Variout styles to write bubble sort.
                • Even: Produce a list of even numbers.
                  • FizzBuzz: We solve a well-known job interview puzzle.
                    • Quine: A self-reproducing program.
                    • Common: Solutions for some common tasks.
                    • Languages: Definitions of several languages and their tools.
                      • Exp: The hello world of syntax definition and language definition. It illustrates how to define concrete and abstract syntax and how to use concrete and abstract patterns to evaluate expressions.
                        • Abstract: A version of Exp based on abstract syntax.
                          • Concrete: Various versions of Exp based on concrete syntax.
                            • NoLayout: A version of Exp based on concrete syntax.
                              • WithLayout: Defines a concrete syntax for Exp with layout.
                              • Combined: Combine concrete syntax with abstract syntax.
                                • Automatic: Use implode to translate an Exp parse tree to an abstract syntax tree.
                                  • Manual: An Exp evaluator that uses a manually written conversion from parse tree to abstract syntaxt tree.
                                • Func: Func is a tiny functional language; we present several interpreters for it.
                                  • ConcreteSyntax: The concrete syntax of Func.
                                    • Parse: Parse a Func program from a string or a file.
                                      • AbstractSyntax: The abstract syntax for Func.
                                        • LoadAST: Parse Func program from string or file and convert to an abstract syntax tree.
                                          • Eval0: A Func interpreter that does not support let-expressions and pointers.
                                            • Eval1:
                                              • Eval2:
                                                • Eval3:
                                                • Lisra: A lisp interpreter in Rascal.
                                                  • Runtime: The runtime representation of Lisp programs and data.
                                                    • Eval: A Lisp interpreter.
                                                      • Syntax: The textual syntax of Lisp.
                                                        • Parse: Parsing a Lisp expression.
                                                          • Pretty: A Lisp pretty printer.
                                                            • Test: Tests for the Lisp interpreter.
                                                            • Pico: The classical toy language, including a specialized IDE.
                                                              • Syntax: Concrete syntax for Pico.
                                                                • Abstract: Abstract syntax for Pico.
                                                                  • Load: Convert a Pico parse tree into a Pico abstract syntax tree.
                                                                    • Typecheck: Typechecker a Pico program.
                                                                      • Evaluate: Evaluate a Pico program.
                                                                        • Assembly: Assembly language for Pico.
                                                                          • Compile: Compile a Pico program to assembly language.
                                                                            • UseDef: Compute use-def information for the variables in a Pico program.
                                                                              • ControlFlow: Compute the control flow graph for a Pico program.
                                                                                • Visualize: Visualize Pico Control Flow Graphs.
                                                                                  • Uninit: Find unitialized variables in a Pico program.
                                                                                    • IDE: An Integrated Development Environment for Pico.
                                                                                  • Metrics: Computing
                                                                                  • Visualization: Recipes for creating visualizations.
                                                                                  Is this page unclear, or have you spotted an error? Please add a comment below and help us to improve it. For all other questions and remarks, visit ask.rascal-mpl.org.