diff --git a/Makefile.top b/Makefile.top
index fb879512a659..1a7a9e24024c 100644
--- a/Makefile.top
+++ b/Makefile.top
@@ -110,6 +110,7 @@ libcmis\
libmspub\
liborcus\
libpng\
+librelogo\
libvisio\
libwpd\
libwpg\
diff --git a/Module_tail_build.mk b/Module_tail_build.mk
index f70f6c4e7648..ddff7ab8d0c1 100644
--- a/Module_tail_build.mk
+++ b/Module_tail_build.mk
@@ -96,6 +96,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_end,\
libcmis \
libmspub \
liborcus \
+ librelogo \
libvisio \
libwpd \
libwpg \
diff --git a/RepositoryModule_ooo.mk b/RepositoryModule_ooo.mk
index 16732d4464a8..b0112df655b0 100644
--- a/RepositoryModule_ooo.mk
+++ b/RepositoryModule_ooo.mk
@@ -107,6 +107,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
libmspub \
liborcus \
libpng \
+ librelogo \
libvisio \
libwpd \
libwpg \
diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx
index 3700efea5fd9..8dfb8ec4835d 100644
--- a/l10ntools/source/localize.cxx
+++ b/l10ntools/source/localize.cxx
@@ -297,6 +297,7 @@ bool includeProject(rtl::OUString const & project) {
"framework",
"helpcontent2",
"instsetoo_native",
+ "librelogo",
"mysqlc",
"nlpsolver",
"officecfg",
diff --git a/librelogo/Configuration_librelogo.mk b/librelogo/Configuration_librelogo.mk
new file mode 100644
index 000000000000..00983886a362
--- /dev/null
+++ b/librelogo/Configuration_librelogo.mk
@@ -0,0 +1,18 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Configuration_Configuration,librelogo,nodeliver))
+
+$(eval $(call gb_Configuration_add_localized_datas,librelogo,librelogo/source/registry/data,\
+ org/openoffice/Office/Addons.xcu \
+ org/openoffice/Office/UI/StartModuleWindowState.xcu \
+ org/openoffice/Office/UI/WriterWindowState.xcu \
+))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/librelogo/Extension_librelogo.mk b/librelogo/Extension_librelogo.mk
new file mode 100644
index 000000000000..1c80e9dcba80
--- /dev/null
+++ b/librelogo/Extension_librelogo.mk
@@ -0,0 +1,46 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Extension_Extension,librelogo,librelogo/source))
+
+$(eval $(call gb_Extension_add_files,librelogo,icons,\
+ $(SRCDIR)/librelogo/source/icons/lc_arrowshapes.circular-arrow.png \
+ $(SRCDIR)/librelogo/source/icons/lc_arrowshapes.circular-leftarrow.png \
+ $(SRCDIR)/librelogo/source/icons/lc_arrowshapes.down-arrow.png \
+ $(SRCDIR)/librelogo/source/icons/lc_arrowshapes.up-arrow.png \
+ $(SRCDIR)/librelogo/source/icons/lc_basicstop.png \
+ $(SRCDIR)/librelogo/source/icons/lc_editglossary.png \
+ $(SRCDIR)/librelogo/source/icons/lc_navigationbarleft.png \
+ $(SRCDIR)/librelogo/source/icons/lc_newdoc.png \
+ $(SRCDIR)/librelogo/source/icons/lc_runbasic.png \
+ $(SRCDIR)/librelogo/source/icons/sc_arrowshapes.circular-arrow.png \
+ $(SRCDIR)/librelogo/source/icons/sc_arrowshapes.circular-leftarrow.png \
+ $(SRCDIR)/librelogo/source/icons/sc_arrowshapes.down-arrow.png \
+ $(SRCDIR)/librelogo/source/icons/sc_arrowshapes.up-arrow.png \
+ $(SRCDIR)/librelogo/source/icons/sc_basicstop.png \
+ $(SRCDIR)/librelogo/source/icons/sc_editglossary.png \
+ $(SRCDIR)/librelogo/source/icons/sc_navigationbarleft.png \
+ $(SRCDIR)/librelogo/source/icons/sc_newdoc.png \
+ $(SRCDIR)/librelogo/source/icons/sc_runbasic.png \
+))
+
+$(eval $(call gb_Extension_add_file,librelogo,LibreLogoDummy.py,$(SRCDIR)/librelogo/source/LibreLogoDummy.py))
+$(eval $(call gb_Extension_add_file,librelogo,pythonpath/librelogodummy_path.py,$(SRCDIR)/librelogo/source/pythonpath/librelogodummy_path.py))
+$(eval $(call gb_Extension_add_file,librelogo,LibreLogo/LibreLogo.py,$(SRCDIR)/librelogo/source/LibreLogo/LibreLogo.py))
+$(eval $(call gb_Extension_add_file,librelogo,Addons.xcu,$(call gb_XcuFile_for_extension,librelogo/source/registry/data/org/openoffice/Office/Addons.xcu)))
+$(eval $(call gb_Extension_add_file,librelogo,Office/UI/StartModuleWindowState.xcu,$(call gb_XcuFile_for_extension,librelogo/source/registry/data/org/openoffice/Office/UI/StartModuleWindowState.xcu)))
+$(eval $(call gb_Extension_add_file,librelogo,Office/UI/WriterWindowState.xcu,$(call gb_XcuFile_for_extension,librelogo/source/registry/data/org/openoffice/Office/UI/WriterWindowState.xcu)))
+
+$(eval $(call gb_Extension_localize_properties,librelogo,pythonpath/LibreLogo_en_US.properties,$(SRCDIR)/librelogo/source/pythonpath/LibreLogo_en_US.properties))
+
+$(eval $(call gb_Extension_add_helpfile,librelogo,$(SRCDIR)/librelogo/source/help/en-US,org.openoffice.comp.pyuno.LibreLogo/LibreLogo.xhp,LibreLogo.xhp))
+
+$(eval $(call gb_Extension_add_helptreefile,librelogo,$(SRCDIR)/librelogo/source/help/en-US,/help.tree,/help.tree,org.openoffice.comp.pyuno.LibreLogo))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/librelogo/Makefile b/librelogo/Makefile
new file mode 100644
index 000000000000..ccb1c85a04da
--- /dev/null
+++ b/librelogo/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/librelogo/Module_librelogo.mk b/librelogo/Module_librelogo.mk
new file mode 100644
index 000000000000..cd0245d77d8d
--- /dev/null
+++ b/librelogo/Module_librelogo.mk
@@ -0,0 +1,17 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Module_Module,librelogo))
+
+$(eval $(call gb_Module_add_targets,librelogo,\
+ Configuration_librelogo \
+ Extension_librelogo \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/librelogo/README b/librelogo/README
index cc32af2e3fa5..af75698f5f2d 100644
--- a/librelogo/README
+++ b/librelogo/README
@@ -1,43 +1 @@
-LibreOffice Logo 0.2 RC2
-
-License: GNU LGPL & GPL, MPL
-
-Home page: http://www.numbertext.org/logo
-
-(c) László Németh (nemeth at numbertextdotorg)
-
-FSF.hu Foundation, http://www.fsf.hu
-
-Icons copyright: OpenOffice.org/LibreOffice
-
-Introduction
-============
-
-LibreLogo is a Logo-like progamming language with interactive vectorgraphics for education and DTP
-
-- presentation: http://www.numbertext.org/logo/librelogo.pdf
-- basic Logo syntax for back compability with educational Logo systems
-- interactive vectorgraphics in LibreOffice Writer
-- native commands (easily translatable)
-- Python data structures (list, tuple, set, dictionary) and other Python features
-
-Usage
-=====
-
-See Logo in LibreOffice Help and http://www.numbertext.org/logo for documentation.
-
-Translation
-===========
-
-create your_language_id.lng in LibreOffice/ based on en.lng.
-
-Compilation:
-
-python make.py
-
-Development
-===========
-
-LibreLogo uses the PyUNO scripting framework, so Addons.xcu URLs depend from the
-full name of the package. Modify them according to the package name with the
-version number.
+LibreLogo is a Logo-like programming language with interactive vectorgraphics for education and DTP
diff --git a/librelogo/description-hu.txt b/librelogo/description-hu.txt
deleted file mode 100644
index 9d0b626b470a..000000000000
--- a/librelogo/description-hu.txt
+++ /dev/null
@@ -1 +0,0 @@
-Programozási nyelv és környezet oktatáshoz, számítógépes grafikához és kiadványszerkesztéshez. Használat: Nézet→Eszköztárak→Logo eszköztár a Writerben. L. Logo a LibreOffice Súgóban.
diff --git a/librelogo/help/en-US/LibreLogo/LibreLogo.xhp b/librelogo/help/en-US/LibreLogo/LibreLogo.xhp
deleted file mode 100644
index e3aa04c08bdf..000000000000
--- a/librelogo/help/en-US/LibreLogo/LibreLogo.xhp
+++ /dev/null
@@ -1,614 +0,0 @@
-
-
-
-
-
-LibreLogo
-/LibreLogo/LibreLogo.xhp
-
-
-
-
-
-LibreLogo
-Logo
-Turtle graphics
-
-
-LibreLogo
-
-LibreLogo is a simple, native, Logo-like programming environment with turtle vector graphics for teaching of computing (programming and word processing), DTP and graphic design. See http://www.numbertext.org/logo/librelogo.pdf.
-
-LibreLogo toolbar
-
-The LibreLogo toolbar (View » Toolbars » Logo) contains turtle moving, program run and stop, home and clear screen and syntax highlighting/translating icons and an input bar (command line).
-
-Turtle moving icons
-
-They are equivalents of the Logo commands “FORWARD 10”, “BACK 10”, “LEFT 15”, “RIGHT 15”.
-Clicking on one of the icons will also focus the turtle shape scrolling the page to its position.
-
-Program run and start
-
-Click on the icon “run” to execute the text of the Writer document as a LibreLogo program.
-Click on the icon “stop” to stop the program execution.
-
-Home
-
-Click on the icon “home” to reset the position and settings of the turtle.
-
-Clear screen
-
-Click on the icon “clear screen” to remove the drawing objects of the document.
-
-Command line
-
-Hit Enter in the command line to execute its content. To stop the program use the icon “stop”.
-Hold down the Enter to repeat the command line, for example, on the following command sequence:
-
- FORWARD 200 LEFT 89
-
-To reset the command line click triple in it or press Ctrl-A to select the previous commands, and type the new commands.
-
-Syntax highlighting/Translating
-
-It expands and upper case Logo commands in the Writer document. Change the language of the document (Tools » Options » Language Settings » Languages » Western) and click on this icon to translate the Logo program to the selected language.
-
-Program editing
-
-LibreLogo drawings and programs use the same Writer document. The LibreLogo canvas is on the first page of the Writer document. You can insert a page break before the LibreLogo programs and set the zoom/font size for a comfortable two page layout for LibreLogo programming: left (first) page is the canvas, right (second) page is for the LibreLogo programs.
-
-LibreLogo programming language
-
-LibreLogo is a native, easily localisable, Logo-like programming language. It is back-compatible with the older Logo systems in the case of the simple Logo programs used in education, eg.
-
- TO triangle :size
REPEAT 3 [
FORWARD :size
LEFT 120
]
END
triangle 10 triangle 100 triangle 200
-
-Differences from the Logo programming language
-
-List members are comma separated
-
- POSITION [0, 0]
-
-Program blocks and lists
-
-Program blocks and lists have got different syntax.
-
-Program blocks need space or new line at parenthesization:
-
- REPEAT 10 [ forward 10 left 36 ]
-
-Lists need close parenthesization:
-
- POSITION [0, 0] ; and not POSITION [ 0, 0 ]
-
-Function declarations
-
-LibreLogo has not supported 1-line function declarations, yet. TO and END need new lines.
-
- TO polygon
FORWARD 1 RIGHT 1
polygon ; recursion
END
-
- polygon
-
-Other features of LibreLogo
-
-Optional colon
-
-The colon is optional before variable names.
-
- TO triangle size
REPEAT 3 [ FORWARD size LEFT 120 ]
END
-
-String notation
-
-String notation supports also orthographical and Python syntax.
-
- PRINT "word ; original Logo syntax
PRINT “Arbitrary text.” ; orthography, Writer
PRINT 'Arbitrary text.' ; Python syntax
-
-Python list and string handling
-
- PRINT “text”[2] ; print “x”
PRINT “text”[1:3] ; print “ex”
PRINT [1, 2, 3, 4][1] ; print 2
PRINT [1, 2, 3, 4][1:3] ; print [2, 3]
-
-Python-like FOR loop
-
- FOR i IN [1, 2] [
PRINT i
]
-
-Python-like variable declaration
-
- x = 15
PRINT x
-
-There are no extra query functions
-
- PRINT FILLCOLOR
p = POSITION
PRINT p
REPEAT 10 [ POSITION ANY POSITION p ]
-
-Alternative parenthesization in function calls
-
- TO star size color
FILLCOLOR color
REPEAT 5 [ LEFT 72 FORWARD size RIGHT 144 FORWARD size ]
FILL
END
star 100 “red”
star (100, “green”)
star(100, “blue”)
-
-LibreLogo commands
-
-Basic syntax
-
-Case sensitivity
-
-Commands, color constants are case insensitive:
-
- PRINT “Hello, World!”
print “Hello, World, again!”
-
-Variable names are case sensitive:
-
- a = 5
A = 7
PRINT a
PRINT A
-
-Program lines
-
-Lines of a LibreLogo program are paragraphs in the LibreOffice Writer document. A program line can contain multiple commands:
-
- PRINT “Hello, World!” PRINT “LibreLogo”
-
-Comments
-
-Lines or line parts are comments from a semicolon to the end of the line (paragraph):
-
- ; some comments
PRINT 5 * 5 ; some comments
-
-Break program lines to multiple paragraphs
-
-It’s possible to break a program line for more paragraphs using the character tilde at the end of the line:
-
- PRINT “This is a very long ” + ~
“warning message”
-
-Turtle moving
-
-FORWARD (fd)
-
- FORWARD 10 ; move forward 10pt (1pt = 1/72 inch)
FORWARD 10pt ; see above
FORWARD 0.5in ; move forward 0.5 inch (1 inch = 2.54 cm)
FORWARD 1" ; see above
FD 1mm
FD 1cm
-
-BACK (bk)
-
- BACK 10 ; move back 10pt
-
-LEFT (lt)
-
- LEFT 90 ; turn counterclockwise 90 degrees
LEFT 90° ; see above
LT 3h ; see above (clock position)
LT any ; turn to a random position
-
-RIGHT (rt)
-
- RIGHT 90 ; turn clockwise 90 degrees
-
-PENUP (pu)
-
- PENUP ; turtle will move without drawing
-
-PENDOWN (pd)
-
- PENDOWN ; turtle will move with drawing
-
-POSITION (pos)
-
- POSITION [0, 0] ; turn and move to the top-left corner
POSITION PAGESIZE ; turn and move to the bottom-right corner
POSITION [PAGESIZE[0], 0] ; turn and move to the top-right corner
POSITION ANY ; turn and move to a random position
-
-HEADING (seth)
-
- HEADING 0 ; turn north
HEADING 12h ; see above
HEADING ANY ; turn to a random position
-
-Other turtle commands
-
-HIDETURTLE (ht)
-
- HIDETURTLE ; hide turtle (until the showturtle command)
-
-SHOWTURTLE (st)
-
- SHOWTURTLE ; show turtle
-
-HOME
-
- HOME ; reset initial turtle settings and position
-
-CLEARSCREEN (cs)
-
- CLEARSCREEN ; remove drawing objects of the document
-
-FILL and CLOSE
-
- FILL ; close and fill the actual line shape
CLOSE ; close the actual line shape
-
-Pen settings
-
-PENSIZE (ps)
-
- PENSIZE 100 ; line width is 100 points
PENSIZE ANY ; equivalent of PENSIZE RANDOM 10
-
-PENCOLOR/PENCOLOUR (pc)
-
- PENCOLOR “red” ; set red pen color (by color name, see color constants)
PENCOLOR [255, 255, 0] ; set yellow color (RGB list)
PENCOLOR 0xffff00 ; set yellow color (hexa code)
PENCOLOR 0 ; set black color (0x000000)
PENCOLOR ANY ; random color
PENCOLOR [5] ; set red color (by color identifier, see color constants)
PENCOLOR “invisible” ; invisible pen color for shapes without visible outline
PENCOLOR “~red” ; set random red color
-
-PENJOINT/LINEJOINT
-
- PENJOINT “rounded” ; rounded line joint (default)
PENJOINT “miter” ; sharp line joint
PENJOINT “bevel” ; bevel line joint
PENJOINT “none” ; without line joint
-
-PENSTYLE
-
- PENSTYLE “solid” ; solid line (default)
PENSTYLE “dotted” ; dotted line
PENSTYLE “dashed” ; dashed line
; custom dot–dash pattern specified by a list with the following arguments:
; – number of the neighbouring dots
; – length of a dot
; – number of the neighbouring dashes
; – length of a dash
; – distance of the dots/dashes
; – type (optional):
; 0 = dots are rectangles (default)
; 2 = dots are squares (lengths and distances are relative to the pensize)
PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––
-
-Fill settings
-
-FILLCOLOR/FILLCOLOUR (fc)
-
- FILLCOLOR “blue” ; fill with blue color, see also PENCOLOR
FILLCOLOR “invisible” CIRCLE 10 ; unfilled circle
-
-FILLSTYLE
-
- FILLSTYLE 0 ; fill without hatches (default)
FILLSTYLE 1 ; black single hatches (horizontal)
FILLSTYLE 2 ; black single hatches (45 degrees)
FILLSTYLE 3 ; black single hatches (-45 degrees)
FILLSTYLE 4 ; black single hatches (vertical)
FILLSTYLE 5 ; red crossed hatches (45 degrees)
FILLSTYLE 6 ; red crossed hatches (0 degrees)
FILLSTYLE 7 ; blue crossed hatches (45 degrees)
FILLSTYLE 8 ; blue crossed hatches (0 degrees)
FILLSTYLE 9 ; blue triple crossed
FILLSTYLE 10 ; black wide single hatches (45 degrees)
; custom hatches specified by a list with the following arguments:
; – style (1 = single, 2 = double, 3 = triple hatching)
; – color
; – distance
; – degree
FILLSTYLE [2, “green”, 3pt, 15°] ; green crossed hatches (15 degrees)
-
-Drawing objects
-
-CIRCLE
-
- CIRCLE 100 ; draw a circle shape (diameter = 100pt)
-
-ELLIPSE
-
- ELLIPSE [50, 100] ; draw an ellipse with 50 and 100 diameters
ELLIPSE [50, 100, 2h, 12h] ; draw an elliptical sector (from 2h clock position to 12h)
ELLIPSE [50, 100, 2h, 12h, 2] ; draw an elliptical segment
ELLIPSE [50, 100, 2h, 12h, 3] ; draw an elliptical arc
-
-SQUARE
-
- SQUARE 100 ; draw a square shape (size = 100pt)
-
-RECTANGLE
-
- RECTANGLE [50, 100] ; draw a rectange shape (50×100pt)
RECTANGLE [50, 100, 50] ; draw a rectangle
-
-POINT
-
- POINT ; draw a point with size and color of the pen
-
-LABEL
-
- LABEL “text” ; print text in the turte position
LABEL 'text' ; see above
LABEL "text ; see above (only for single words)
-
-TEXT
-
- CIRCLE 10 TEXT “text” ; set text of the actual drawing object
-
-Font settings
-
-FONTCOLOR/FONTCOLOUR
-
- FONTCOLOR “green” ; set font color
-
-FONTFAMILY
-
- FONTFAMILY “Linux Libertine G” ; set font (family)
FONTFAMILY “Linux Libertine G:smcp=1” ; set also font feature (small caps)
FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; small caps + old figures
-
-FONTSIZE
-
- FONTSIZE 12 ; set 12pt
-
-FONTWEIGHT
-
- FONTWEIGHT “bold” ; set bold font
FONTWEIGHT “normal” ; set normal weight
-
-FONTSTYLE
-
- FONTSTYLE “italic” ; set italic variant
FONTSTYLE “normal” ; set normal variant
-
-PICTURE (pic)
-
-PICTURE is for
-* shape grouping;
-* starting new line shapes;
-* keeping the consistency of positions and line shapes at the left border.
-
-Shape grouping
-
- ; PICTURE [ LibreLogo_commands ]
PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape
-
-See also “Group” in LibreOffice Writer Help.
-
- TO tree location
PENUP POSITION location HEADING 0 PENDOWN
PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape
END
PICTURE [ tree [30, 50] tree [100, 50] ] ; grouped shapes in a grouped shape
-
-Starting new line shapes
-
- PICTURE ; start a new line shape
FORWARD 10 PICTURE FORWARD 10 ; two line shapes
-
-Consistency at the left border
-
-Use picture to keep the consistency of positions and line shapes at the left border of Writer:
-
- PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]
-
-Loops
-
-REPEAT
-
- ; REPEAT number [ commands ]
REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ] ; repeat 10 times
-
- ; number is optional
REPEAT [ POSITION ANY ] ; endless loop
-
-REPCOUNT
-
-Loop variable (also in the FOR and WHILE loops).
-
- REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]
-
-FOR IN
-
-Loop for the list elements:
-
- FOR i IN [1, 5, 7, 9, 11] [
FORWARD i
LEFT 90
]
-
-Loop for the characters of a character sequence:
-
- FOR i IN “text” [
LABEL i
FORWARD 10
]
-
-WHILE
-
- WHILE TRUE [ POSITION ANY ] ; endless loop
WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; as REPEAT 10 [ ... ]
-
-BREAK
-
-Stop the loop.
-
- REPEAT [ ; endless loop
POSITION ANY
IF REPCOUNT = 100 [ BREAK ] ; equivalent of the REPEAT 100 [ ... ]
]
-
-CONTINUE
-
-Jump into the next iteration of the loop.
-
- REPEAT 100 [
POSITION ANY
IF REPCOUNT % 2 <> 0 [ CONTINUE ]
CIRCLE 10 ; draw circles on every 2nd positions
]
-
-Conditions
-
-IF
-
- ; IF condition [ true block ]
; IF condition [ true block ] [ false block ]
IF a < 10 [ PRINT “Small” ]
IF a < 10 [ PRINT “Small” ] [ PRINT “Big” ]
-
-AND, OR, NOT
-
-Logical operators.
-
- IF a < 10 AND NOT a < 5 [ PRINT “5, 6, 7, 8 or 9” ]
-
-Subroutines
-
-TO, END
-
-New word (or procedure).
-
- TO triangle
REPEAT [ FORWARD 100 RIGHT 120 ] FILL
END
REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]
-
-OUTPUT
-
-Return value of the function.
-
- TO randomletter
OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
END
PRINT randomletter + randomletter + randomletter ; print 3-letter random character sequence
-
-STOP
-
-Return from the procedure.
-
- TO example number
IF number < 0 [ STOP ]
PRINT SQRT number ; print square root
]
example 100
example -1 ; without output and error
example 25
-
-Default variables
-
-ANY
-
-Default random value of colors, etc.
-
- PENCOLOR ANY ; random pen color
-
-TRUE
-
-Logical value.
-
- WHILE TRUE [ POSITION ANY ] ; endless loop
PRINT TRUE ; print true
-
-FALSE
-
-Logical value.
-
- WHILE NOT FALSE [ POSITION ANY ] ; endless loop
PRINT FALSE ; print false
-
-PAGESIZE
-
- PRINT PAGESIZE ; print list of the page sizes in points, eg. [595.30, 841.89]
-
-PI/π
-
- PRINT PI ; print 3.14159265359
-
-Input/Output
-
-PRINT
-
- PRINT “text” ; print “text” in a dialog box
PRINT 5 + 10 ; print 15
-
-INPUT
-
- PRINT INPUT “Input value?” ; ask and print a string by a query dialog box
PRINT FLOAT (INPUT “First number?”) + FLOAT (INPUT “Second number?”) ; simple calculator
-
-SLEEP
-
- SLEEP 1000 ; wait for 1000 ms (1 sec)
-
-GLOBAL
-
-Set global variables used in procedures.
-
- GLOBAL about
about = “LibreLogo”
TO example
PRINT about
GLOBAL about ; when we want to add a new value
about = “new value for the global variable”
END
example
PRINT about
-
-Functions
-
-RANDOM
-
- PRINT RANDOM 100 ; random float number (0 <= x < 100)
PRINT RANDOM “text” ; random letter of the “text”
PRINT RANDOM [1, 2] ; random list element (1 or 2)
-
-INT
-
- PRINT INT 3.8 ; print 3 (integer part of 3.8)
PRINT INT RANDOM 100 ; random integer number (0 <= x < 100)
PRINT INT “7” ; convert the string parameter to integer
-
-FLOAT
-
- ; convert the string parameter to float number
PRINT 2 * FLOAT “5.5” ; print 11.0
-
-STR
-
- ; convert the number parameter to string
PRINT “Result: ” + STR 5 ; print “Result: 5”
PRINT 10 * STR 5 ; print 5555555555
-
-SQRT
-
- PRINT SQRT 100 ; print 10, square root of 100
-
-SIN
-
- PRINT SIN 90 * PI/180 ; print 1.0 (sinus of 90° in radians)
-
-COS
-
- PRINT COS 0 * PI/180 ; print 1.0 (sinus of 0° in radians)
-
-ROUND
-
- PRINT ROUND 3.8 ; print 4 (rounding 3.8)
PRINT ROUND RANDOM 100 ; random integer number (0 <= x <= 100)
-
-ABS
-
- PRINT ABS -10 ; print 10, absolute value of -10
-
-COUNT
-
- PRINT COUNT “text” ; print 4, character count of “text”
PRINT COUNT [1, 2, 3] ; print 3, size of the list
-
-SET
-
- ; Convert list to Python set
PRINT SET [4, 5, 6, 6] ; print {4, 5, 6}
PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; print {1, 4, 5, 6, 9}, union
PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; print {4}, intersection
PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; print {5, 6}, difference
PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; print {1, 5, 6, 9}, symmetric difference
-
-RANGE
-
- ; Python-like list generation
PRINT RANGE 10 ; print [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 ; print [3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 3 ; print [3, 6, 9]
FOR i in RANGE 10 50 10 [ ; loop for [10, 20, 30, 40]
FORWARD i
LEFT 90
]
-
-LIST
-
- ; remove the repeating elements of a list using set and list conversion
PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; print [1, 3, 5, 2]
-
-TUPLE
-
-Conversion to Python tuple (non-modifiable list)
-
- PRINT TUPLE [4, 5]
-
-SORTED
-
-It returns with a sorted list.
-
- PRINT SORTED [5, 1, 3, 4] ; print [1, 3, 4, 5]
-
-SUB
-
-Substitue character sequences using regex (regular expression) patterns.
-
- PRINT SUB (“t”, “T”, “text”) ; print “Text”, replacing “t” with “T”
PRINT SUB (“(.)”, “\\1\\1”, “text”) ; print “tteexxtt”, doubling every characters
-
-SEARCH
-
-Search character sequences patterns using regex patterns.
-
- IF SEARCH (“\w”, word) [ PRINT “Letter in the word.” ]
-
-FINDALL
-
-Find all character sequences in the input string matching the given regex pattern.
-
- PRINT FINDALL(“\w+”, “Dogs, cats.”) ; print [“Dogs”, “cats”], the list of the words.
-
-MIN
-
- PRINT MIN [1, 2, 3] ; print 1, the lowest element of the list
-
-MAX
-
- PRINT MAX [1, 2, 3] ; print 3, the greatest element of the list
-
-Color constants
-
- PENCOLOR “SILVER” ; set by name
PENCOLOR [1] ; set by identifiers
PENCOLOR “~SILVER” ; random silver color
-
-Identifier
-Name
-
-0
-BLACK
-
-1
-SILVER
-
-2
-GRAY/GREY
-
-3
-WHITE
-
-4
-MAROON
-
-5
-RED
-
-6
-PURPLE
-
-7
-FUCHSIA/MAGENTA
-
-8
-GREEN
-
-9
-LIME
-
-10
-OLIVE
-
-11
-YELLOW
-
-12
-NAVY
-
-13
-BLUE
-
-14
-TEAL
-
-15
-AQUA
-
-16
-PINK
-
-17
-TOMATO
-
-18
-ORANGE
-
-19
-GOLD
-
-20
-VIOLET
-
-21
-SKYBLUE
-
-22
-CHOCOLATE
-
-23
-BROWN
-
-24
-INVISIBLE
-
-
diff --git a/librelogo/help/en-US/LibreLogo/doc.txt b/librelogo/help/en-US/LibreLogo/doc.txt
deleted file mode 100644
index db596f926808..000000000000
--- a/librelogo/help/en-US/LibreLogo/doc.txt
+++ /dev/null
@@ -1,787 +0,0 @@
-= LibreLogo =
-
-LibreLogo is a simple, native, Logo-like programming environment with turtle vector graphics for teaching of computing (programming and word processing), DTP and graphic design. See http://www.numbertext.org/logo/librelogo.pdf.
-
-== LibreLogo toolbar ==
-
-The LibreLogo toolbar (View » Toolbars » Logo) contains turtle moving, program run and stop, home and clear screen and syntax highlighting/translating icons and an input bar (command line).
-
-== Turtle moving icons ==
-
-They are equivalents of the Logo commands “FORWARD 10”, “BACK 10”, “LEFT 15”, “RIGHT 15”.
-Clicking on one of the icons will also focus the turtle shape scrolling the page to its position.
-
-== Program run and start ==
-
-Click on the icon “run” to execute the text of the Writer document as a LibreLogo program.
-Click on the icon “stop” to stop the program execution.
-
-== Home ==
-
-Click on the icon “home” to reset the position and settings of the turtle.
-
-== Clear screen ==
-
-Click on the icon “clear screen” to remove the drawing objects of the document.
-
-== Command line ==
-
-Hit Enter in the command line to execute its content. To stop the program use the icon “stop”.
-Hold down the Enter to repeat the command line, for example, on the following command sequence:
-
- FORWARD 200 LEFT 89
-
-To reset the command line click triple in it or press Ctrl-A to select the previous commands, and type the new commands.
-
-== Syntax highlighting/Translating ==
-
-It expands and upper case Logo commands in the Writer document. Change the language of the document (Tools » Options » Language Settings » Languages » Western) and click on this icon to translate the Logo program to the selected language.
-
-== Program editing ==
-
-LibreLogo drawings and programs use the same Writer document. The LibreLogo canvas is on the first page of the Writer document. You can insert a page break before the LibreLogo programs and set the zoom/font size for a comfortable two page layout for LibreLogo programming: left (first) page is the canvas, right (second) page is for the LibreLogo programs.
-
-= LibreLogo programming language =
-
-LibreLogo is a native, easily localisable, Logo-like programming language. It is back-compatible with the older Logo systems in the case of the simple Logo programs used in education, eg.
-
- TO triangle :size
- REPEAT 3 [
- FORWARD :size
- LEFT 120
- ]
- END
-
- triangle 10 triangle 100 triangle 200
-
-== Differences from the Logo programming language ==
-
-=== List members are comma separated ===
-
- POSITION [0, 0]
-
-=== Program blocks and lists ===
-
-Program blocks and lists have got different syntax.
-
-Program blocks need space or new line at parenthesization:
-
- REPEAT 10 [ forward 10 left 36 ]
-
-Lists need close parenthesization:
-
- POSITION [0, 0] ; and not POSITION [ 0, 0 ]
-
-=== Function declarations ===
-
-LibreLogo has not supported 1-line function declarations, yet. TO and END need new lines.
-
- TO polygon
- FORWARD 1 RIGHT 1
- polygon ; recursion
- END
-
- polygon
-
-== Other features of LibreLogo ==
-
-=== Optional colon ===
-
-The colon is optional before variable names.
-
- TO triangle size
- REPEAT 3 [ FORWARD size LEFT 120 ]
- END
-
-=== String notation ===
-
-String notation supports also orthographical and Python syntax.
-
- PRINT "word ; original Logo syntax
- PRINT “Arbitrary text.” ; orthography, Writer
- PRINT 'Arbitrary text.' ; Python syntax
-
-=== Python list and string handling ===
-
- PRINT “text”[2] ; print “x”
- PRINT “text”[1:3] ; print “ex”
- PRINT [1, 2, 3, 4][1] ; print 2
- PRINT [1, 2, 3, 4][1:3] ; print [2, 3]
-
-=== Python-like FOR loop ===
-
- FOR i IN [1, 2] [
- PRINT i
- ]
-
-=== Python-like variable declaration ===
-
- x = 15
- PRINT x
-
-=== There are no extra query functions ===
-
- PRINT FILLCOLOR
- p = POSITION
- PRINT p
- REPEAT 10 [ POSITION ANY POSITION p ]
-
-=== Alternative parenthesization in function calls ===
-
- TO star size color
- FILLCOLOR color
- REPEAT 5 [ LEFT 72 FORWARD size RIGHT 144 FORWARD size ]
- FILL
- END
-
- star 100 “red”
- star (100, “green”)
- star(100, “blue”)
-
-= LibreLogo commands =
-
-== Basic syntax ==
-
-=== Case sensitivity ===
-
-Commands, color constants are case insensitive:
-
- PRINT “Hello, World!”
- print “Hello, World, again!”
-
-Variable names are case sensitive:
-
- a = 5
- A = 7
- PRINT a
- PRINT A
-
-=== Program lines ===
-
-Lines of a LibreLogo program are paragraphs in the LibreOffice Writer document. A program line can contain multiple commands:
-
- PRINT “Hello, World!” PRINT “LibreLogo”
-
-=== Comments ===
-
-Lines or line parts are comments from a semicolon to the end of the line (paragraph):
-
- ; some comments
- PRINT 5 * 5 ; some comments
-
-=== Break program lines to multiple paragraphs ===
-
-It’s possible to break a program line for more paragraphs using the character tilde at the end of the line:
-
- PRINT “This is a very long ” + ~
- “warning message”
-
-== Turtle moving ==
-
-=== FORWARD (fd) ===
-
- FORWARD 10 ; move forward 10pt (1pt = 1/72 inch)
- FORWARD 10pt ; see above
- FORWARD 0.5in ; move forward 0.5 inch (1 inch = 2.54 cm)
- FORWARD 1" ; see above
- FD 1mm
- FD 1cm
-
-=== BACK (bk) ===
-
- BACK 10 ; move back 10pt
-
-=== LEFT (lt) ===
-
- LEFT 90 ; turn counterclockwise 90 degrees
- LEFT 90° ; see above
- LT 3h ; see above (clock position)
- LT any ; turn to a random position
-
-=== RIGHT (rt) ===
-
- RIGHT 90 ; turn clockwise 90 degrees
-
-=== PENUP (pu) ===
-
- PENUP ; turtle will move without drawing
-
-=== PENDOWN (pd) ===
-
- PENDOWN ; turtle will move with drawing
-
-=== POSITION (pos) ===
-
- POSITION [0, 0] ; turn and move to the top-left corner
- POSITION PAGESIZE ; turn and move to the bottom-right corner
- POSITION [PAGESIZE[0], 0] ; turn and move to the top-right corner
- POSITION ANY ; turn and move to a random position
-
-=== HEADING (seth) ===
-
- HEADING 0 ; turn north
- HEADING 12h ; see above
- HEADING ANY ; turn to a random position
-
-== Other turtle commands ==
-
-=== HIDETURTLE (ht) ===
-
- HIDETURTLE ; hide turtle (until the showturtle command)
-
-=== SHOWTURTLE (st) ===
-
- SHOWTURTLE ; show turtle
-
-=== HOME ===
-
- HOME ; reset initial turtle settings and position
-
-=== CLEARSCREEN (cs) ===
-
- CLEARSCREEN ; remove drawing objects of the document
-
-=== FILL and CLOSE ===
-
- FILL ; close and fill the actual line shape
- CLOSE ; close the actual line shape
-
-== Pen settings ==
-
-=== PENSIZE (ps) ===
-
- PENSIZE 100 ; line width is 100 points
- PENSIZE ANY ; equivalent of PENSIZE RANDOM 10
-
-=== PENCOLOR/PENCOLOUR (pc) ===
-
- PENCOLOR “red” ; set red pen color (by color name, see color constants)
- PENCOLOR [255, 255, 0] ; set yellow color (RGB list)
- PENCOLOR 0xffff00 ; set yellow color (hexa code)
- PENCOLOR 0 ; set black color (0x000000)
- PENCOLOR ANY ; random color
- PENCOLOR [5] ; set red color (by color identifier, see color constants)
- PENCOLOR “invisible” ; invisible pen color for shapes without visible outline
- PENCOLOR “~red” ; set random red color
-
-=== PENJOINT/LINEJOINT ===
-
- PENJOINT “rounded” ; rounded line joint (default)
- PENJOINT “miter” ; sharp line joint
- PENJOINT “bevel” ; bevel line joint
- PENJOINT “none” ; without line joint
-
-=== PENSTYLE ===
-
- PENSTYLE “solid” ; solid line (default)
- PENSTYLE “dotted” ; dotted line
- PENSTYLE “dashed” ; dashed line
-
- ; custom dot–dash pattern specified by a list with the following arguments:
- ; – number of the neighbouring dots
- ; – length of a dot
- ; – number of the neighbouring dashes
- ; – length of a dash
- ; – distance of the dots/dashes
- ; – type (optional):
- ; 0 = dots are rectangles (default)
- ; 2 = dots are squares (lengths and distances are relative to the pensize)
-
- PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––
-
-== Fill settings ==
-
-=== FILLCOLOR/FILLCOLOUR (fc) ===
-
- FILLCOLOR “blue” ; fill with blue color, see also PENCOLOR
- FILLCOLOR “invisible” CIRCLE 10 ; unfilled circle
-
-=== FILLSTYLE ===
-
- FILLSTYLE 0 ; fill without hatches (default)
- FILLSTYLE 1 ; black single hatches (horizontal)
- FILLSTYLE 2 ; black single hatches (45 degrees)
- FILLSTYLE 3 ; black single hatches (-45 degrees)
- FILLSTYLE 4 ; black single hatches (vertical)
- FILLSTYLE 5 ; red crossed hatches (45 degrees)
- FILLSTYLE 6 ; red crossed hatches (0 degrees)
- FILLSTYLE 7 ; blue crossed hatches (45 degrees)
- FILLSTYLE 8 ; blue crossed hatches (0 degrees)
- FILLSTYLE 9 ; blue triple crossed
- FILLSTYLE 10 ; black wide single hatches (45 degrees)
-
- ; custom hatches specified by a list with the following arguments:
- ; – style (1 = single, 2 = double, 3 = triple hatching)
- ; – color
- ; – distance
- ; – degree
-
- FILLSTYLE [2, “green”, 3pt, 15°] ; green crossed hatches (15 degrees)
-
-== Drawing objects ==
-
-=== CIRCLE ===
-
- CIRCLE 100 ; draw a circle shape (diameter = 100pt)
-
-=== ELLIPSE ===
-
- ELLIPSE [50, 100] ; draw an ellipse with 50 and 100 diameters
- ELLIPSE [50, 100, 2h, 12h] ; draw an elliptical sector (from 2h clock position to 12h)
- ELLIPSE [50, 100, 2h, 12h, 2] ; draw an elliptical segment
- ELLIPSE [50, 100, 2h, 12h, 3] ; draw an elliptical arc
-
-=== SQUARE ===
-
- SQUARE 100 ; draw a square shape (size = 100pt)
-
-=== RECTANGLE ===
-
- RECTANGLE [50, 100] ; draw a rectange shape (50×100pt)
- RECTANGLE [50, 100, 50] ; draw a rectangle
-
-=== POINT ===
-
- POINT ; draw a point with size and color of the pen
-
-=== LABEL ===
-
- LABEL “text” ; print text in the turte position
- LABEL 'text' ; see above
- LABEL "text ; see above (only for single words)
-
-=== TEXT ===
-
- CIRCLE 10 TEXT “text” ; set text of the actual drawing object
-
-== Font settings ==
-
-=== FONTCOLOR/FONTCOLOUR ===
-
- FONTCOLOR “green” ; set font color
-
-=== FONTFAMILY ===
-
- FONTFAMILY “Linux Libertine G” ; set font (family)
- FONTFAMILY “Linux Libertine G:smcp=1” ; set also font feature (small caps)
- FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; small caps + old figures
-
-=== FONTSIZE ===
-
- FONTSIZE 12 ; set 12pt
-
-=== FONTWEIGHT ===
-
- FONTWEIGHT “bold” ; set bold font
- FONTWEIGHT “normal” ; set normal weight
-
-=== FONTSTYLE ===
-
- FONTSTYLE “italic” ; set italic variant
- FONTSTYLE “normal” ; set normal variant
-
-== PICTURE (pic) ==
-
-PICTURE is for
-* shape grouping;
-* starting new line shapes;
-* keeping the consistency of positions and line shapes at the left border.
-
-=== Shape grouping ===
-
- ; PICTURE [ LibreLogo_commands ]
- PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape
-
-See also “Group” in LibreOffice Writer Help.
-
- TO tree location
- PENUP POSITION location HEADING 0 PENDOWN
- PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape
- END
-
- PICTURE [ tree [30, 50] tree [100, 50] ] ; grouped shapes in a grouped shape
-
-=== Starting new line shapes ===
-
- PICTURE ; start a new line shape
- FORWARD 10 PICTURE FORWARD 10 ; two line shapes
-
-=== Consistency at the left border ===
-
-Use picture to keep the consistency of positions and line shapes at the left border of Writer:
-
- PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]
-
-== Loops ==
-
-=== REPEAT ===
-
- ; REPEAT number [ commands ]
-
- REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ] ; repeat 10 times
-
- ; number is optional
-
- REPEAT [ POSITION ANY ] ; endless loop
-
-=== REPCOUNT ===
-
-Loop variable (also in the FOR and WHILE loops).
-
- REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]
-
-=== FOR IN ===
-
-Loop for the list elements:
-
- FOR i IN [1, 5, 7, 9, 11] [
- FORWARD i
- LEFT 90
- ]
-
-Loop for the characters of a character sequence:
-
- FOR i IN “text” [
- LABEL i
- FORWARD 10
- ]
-
-=== WHILE ===
-
- WHILE TRUE [ POSITION ANY ] ; endless loop
- WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; as REPEAT 10 [ ... ]
-
-=== BREAK ===
-
-Stop the loop.
-
- REPEAT [ ; endless loop
- POSITION ANY
- IF REPCOUNT = 100 [ BREAK ] ; equivalent of the REPEAT 100 [ ... ]
- ]
-
-=== CONTINUE ===
-
-Jump into the next iteration of the loop.
-
- REPEAT 100 [
- POSITION ANY
- IF REPCOUNT % 2 <> 0 [ CONTINUE ]
- CIRCLE 10 ; draw circles on every 2nd positions
- ]
-
-== Conditions ==
-
-=== IF ===
-
- ; IF condition [ true block ]
- ; IF condition [ true block ] [ false block ]
-
- IF a < 10 [ PRINT “Small” ]
- IF a < 10 [ PRINT “Small” ] [ PRINT “Big” ]
-
-=== AND, OR, NOT ===
-
-Logical operators.
-
- IF a < 10 AND NOT a < 5 [ PRINT “5, 6, 7, 8 or 9” ]
-
-== Subroutines ==
-
-=== TO, END ===
-
-New word (or procedure).
-
- TO triangle
- REPEAT [ FORWARD 100 RIGHT 120 ] FILL
- END
-
- REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]
-
-=== OUTPUT ===
-
-Return value of the function.
-
- TO randomletter
- OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
- END
-
- PRINT randomletter + randomletter + randomletter ; print 3-letter random character sequence
-
-=== STOP ===
-
-Return from the procedure.
-
- TO example number
- IF number < 0 [ STOP ]
- PRINT SQRT number ; print square root
- ]
-
- example 100
- example -1 ; without output and error
- example 25
-
-== Default variables ==
-
-=== ANY ===
-
-Default random value of colors, etc.
-
- PENCOLOR ANY ; random pen color
-
-=== TRUE ===
-
-Logical value.
-
- WHILE TRUE [ POSITION ANY ] ; endless loop
- PRINT TRUE ; print true
-
-=== FALSE ===
-
-Logical value.
-
- WHILE NOT FALSE [ POSITION ANY ] ; endless loop
- PRINT FALSE ; print false
-
-=== PAGESIZE ===
-
- PRINT PAGESIZE ; print list of the page sizes in points, eg. [595.30, 841.89]
-
-=== PI/π ===
-
- PRINT PI ; print 3.14159265359
-
-== Input/Output ==
-
-=== PRINT ===
-
- PRINT “text” ; print “text” in a dialog box
- PRINT 5 + 10 ; print 15
-
-=== INPUT ===
-
- PRINT INPUT “Input value?” ; ask and print a string by a query dialog box
- PRINT FLOAT (INPUT “First number?”) + FLOAT (INPUT “Second number?”) ; simple calculator
-
-== SLEEP ==
-
- SLEEP 1000 ; wait for 1000 ms (1 sec)
-
-== GLOBAL ==
-
-Set global variables used in procedures.
-
- GLOBAL about
- about = “LibreLogo”
-
- TO example
- PRINT about
- GLOBAL about ; when we want to add a new value
- about = “new value for the global variable”
- END
-
- example
- PRINT about
-
-== Functions ==
-
-=== RANDOM ===
-
- PRINT RANDOM 100 ; random float number (0 <= x < 100)
- PRINT RANDOM “text” ; random letter of the “text”
- PRINT RANDOM [1, 2] ; random list element (1 or 2)
-
-=== INT ===
-
- PRINT INT 3.8 ; print 3 (integer part of 3.8)
- PRINT INT RANDOM 100 ; random integer number (0 <= x < 100)
- PRINT INT “7” ; convert the string parameter to integer
-
-=== FLOAT ===
-
- ; convert the string parameter to float number
- PRINT 2 * FLOAT “5.5” ; print 11.0
-
-=== STR ===
-
- ; convert the number parameter to string
- PRINT “Result: ” + STR 5 ; print “Result: 5”
- PRINT 10 * STR 5 ; print 5555555555
-
-=== SQRT ===
-
- PRINT SQRT 100 ; print 10, square root of 100
-
-=== SIN ===
-
- PRINT SIN 90 * PI/180 ; print 1.0 (sinus of 90° in radians)
-
-=== COS ===
-
- PRINT COS 0 * PI/180 ; print 1.0 (sinus of 0° in radians)
-
-=== ROUND ===
-
- PRINT ROUND 3.8 ; print 4 (rounding 3.8)
- PRINT ROUND RANDOM 100 ; random integer number (0 <= x <= 100)
-
-=== ABS ===
-
- PRINT ABS -10 ; print 10, absolute value of -10
-
-=== COUNT ===
-
- PRINT COUNT “text” ; print 4, character count of “text”
- PRINT COUNT [1, 2, 3] ; print 3, size of the list
-
-=== SET ===
-
- ; Convert list to Python set
- PRINT SET [4, 5, 6, 6] ; print {4, 5, 6}
- PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; print {1, 4, 5, 6, 9}, union
- PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; print {4}, intersection
- PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; print {5, 6}, difference
- PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; print {1, 5, 6, 9}, symmetric difference
-
-=== RANGE ===
-
- ; Python-like list generation
- PRINT RANGE 10 ; print [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- PRINT RANGE 3 10 ; print [3, 4, 5, 6, 7, 8, 9]
- PRINT RANGE 3 10 3 ; print [3, 6, 9]
-
- FOR i in RANGE 10 50 10 [ ; loop for [10, 20, 30, 40]
- FORWARD i
- LEFT 90
- ]
-
-=== LIST ===
-
- ; remove the repeating elements of a list using set and list conversion
- PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; print [1, 3, 5, 2]
-
-=== TUPLE ===
-
-Conversion to Python tuple (non-modifiable list)
-
- PRINT TUPLE [4, 5]
-
-=== SORTED ===
-
-It returns with a sorted list.
-
- PRINT SORTED [5, 1, 3, 4] ; print [1, 3, 4, 5]
-
-=== SUB ===
-
-Substitue character sequences using regex (regular expression) patterns.
-
- PRINT SUB (“t”, “T”, “text”) ; print “Text”, replacing “t” with “T”
- PRINT SUB (“(.)”, “\\1\\1”, “text”) ; print “tteexxtt”, doubling every characters
-
-=== SEARCH ===
-
-Search character sequences patterns using regex patterns.
-
- IF SEARCH (“\w”, word) [ PRINT “Letter in the word.” ]
-
-=== FINDALL ===
-
-Find all character sequences in the input string matching the given regex pattern.
-
- PRINT FINDALL(“\w+”, “Dogs, cats.”) ; print [“Dogs”, “cats”], the list of the words.
-
-=== MIN ===
-
- PRINT MIN [1, 2, 3] ; print 1, the lowest element of the list
-
-=== MAX ===
-
- PRINT MAX [1, 2, 3] ; print 3, the greatest element of the list
-
-== Color constants ==
-
- PENCOLOR “SILVER” ; set by name
- PENCOLOR [1] ; set by identifiers
- PENCOLOR “~SILVER” ; random silver color
-
-{|class="wikitable"
-|Identifier
-|Name
-|-
-|0
-|style="color: white; background-color: #000000;"|BLACK
-|-
-|1
-|style="color: black; background-color: #c0c0c0;"|SILVER
-|-
-|2
-|style="color: white; background-color: #808080;"|GRAY/GREY
-|-
-|3
-|style="color: black; background-color: #ffffff;"|WHITE
-|-
-|4
-|style="color: white; background-color: #800000;"|MAROON
-|-
-|5
-|style="color: white; background-color: #ff0000;"|RED
-|-
-|6
-|style="color: white; background-color: #800080;"|PURPLE
-|-
-|7
-|style="color: black; background-color: #f000f0;"|FUCHSIA/MAGENTA
-|-
-|8
-|style="color: white; background-color: #008000;"|GREEN
-|-
-|9
-|style="color: black; background-color: #00ff00;"|LIME
-|-
-|10
-|style="color: white; background-color: #808000;"|OLIVE
-|-
-|11
-|style="color: black; background-color: #ffff00;"|YELLOW
-|-
-|12
-|style="color: white; background-color: #000080;"|NAVY
-|-
-|13
-|style="color: white; background-color: #0000f0;"|BLUE
-|-
-|14
-|style="color: white; background-color: #008080;"|TEAL
-|-
-|15
-|style="color: black; background-color: #00ffff;"|AQUA
-|-
-|16
-|style="color: black; background-color: #ffc0cb;"|PINK
-|-
-|17
-|style="color: black; background-color: #ff6347;"|TOMATO
-|-
-|18
-|style="color: black; background-color: #ffa500;"|ORANGE
-|-
-|19
-|style="color: black; background-color: #ffd700;"|GOLD
-|-
-|20
-|style="color: black; background-color: #9400d3;"|VIOLET
-|-
-|21
-|style="color: black; background-color: #87ceeb;"|SKYBLUE
-|-
-|22
-|style="color: black; background-color: #d2691e;"|CHOCOLATE
-|-
-|23
-|style="color: black; background-color: #a52a2a;"|BROWN
-|-
-|24
-|style="color: black;"|INVISIBLE
-|}
-
diff --git a/librelogo/help/en-US/LibreLogo/gendoc.sh b/librelogo/help/en-US/LibreLogo/gendoc.sh
deleted file mode 100755
index c07c62d3d82e..000000000000
--- a/librelogo/help/en-US/LibreLogo/gendoc.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cat doc.txt | awk 'BEGIN{system("cat head")}/^ /{code = code $0 "
";next}{if (code != ""){print "" gensub(" ", "\\ ", "g", code) "";code=""}}/^=+/{l=length($1);print ""substr($0, l+2, length($0)-l*2-2)"";next}/^[{][|]/{print "
";next}/^[|]-/{print "";next}/^[|]/{print ""gensub("^.*[|]","","g")"";next}{print "" $0 "" }END{print "