structural update: move files to a subfolder

Also update the documentation of supported tokens and features for more
clarity.
This commit is contained in:
Lephe 2019-10-06 01:34:42 +02:00
parent 2c7287338c
commit 69b5b52fdd
Signed by: Lephenixnoir
GPG Key ID: 1BBA026E13FC0495
9 changed files with 158 additions and 146 deletions

View File

@ -1,137 +1,149 @@
21 : e
22 : π
23 : :
25 : ?
2C : ;
2D : ×10
2E : ,
30 : 0
31 : 1
32 : 2
33 : 3
34 : 4
35 : 5
36 : 6
37 : 7
38 : 8
39 : 9
40 : M
41 : Rép (Ans)
42 : A
43 : B
44 : C
45 : D
46 : E
47 : F
48 : x
49 : y
4A : Pré-Rép
4C : θ
60 : (
68 : Abs(
69 : Rnd(
6C : sinh(
6D : cosh(
6E : tanh(
6F : sinh⁻¹(
70 : cosh⁻¹(
71 : tanh⁻¹(
72 : e^
73 : 10^
74 : √(
75 : ln(
76 : ³√(
77 : sin(
78 : cos(
79 : tan(
7A : Arcsin(
7B : Arccos(
7C : Arctan(
7D : log(
7E : Pol
7F : Rec
83 : Ent(
84 : EntEx(
87 : RanInt#(
88 : PGCD(
89 : PPCM(
8A : Arond(
A5 : =
A6 : +
A7 : -
A8 : ×
A9 : ÷
AA : ⊢
AD : P
AE : C
C0 : -
C8 : ⌋
C9 : ^(
CA : [x]√(
D0 : )
D4 : ⁻¹
D5 : ²
D6 : ³
D7 : %
D8 : !
D9 : °
DA : ʳ
DB : ᵍ
DC : °
DD : E
DE : P
DF : T
E0 : G
E1 : M
E2 : k
E3 : m
E4 : μ
E5 : n
E6 : p
E7 : f
E9 : ▶Simp
F901 : end of line
F902 : end of program
F903 : nop / empty line
F905 ... 00 : Avancer de ...
F906 ... 00 : Tourner de ↺ ...
F907 ... 00 : S'orienter à ...
F908 ... 00 ... 00 : Aller à x=... ; y=...
F909 : Stylo écrit
F90A : Stylo relevé
F90B ... 00 ... 00 : ... → ... (mettre var à)
F90C ... 00 : ? → ... (Demander valeur)
F90D3100 : "Oui"
F90D3200 : "Non"
F90D3300 : "Nombre?"
F90D3400 : "Résultat:"
F90E ... 00 : Afficher résult ...
F90F3100 : Style Flèche
F90F3200 : Style Croix
F910 : Attendre
F911 ... 00 : Répéter ...
F912 : ⤴ (end of Répéter)
F913 ... 00 : Répéter jusqu'à ...
F914 : ⤴ (end of Répéter jusqu'à)
F915 ... 00 : Si ... Alors [... Fin]
F916 : Fin (end of Si/Alors)
F917 ... 00 : Si ... Alors [... Sinon ... Fin]
F918 : Sinon
F919 : Fin (end of Si/Alors/Sinon)
FB01 : <
FB02 : >
FB03 : ≠
FB04 : ≤
FB05 : ≥
FB10 : →M
FB12 : →A
FB13 : →B
FB14 : →C
FB15 : →D
FB16 : →E
FB17 : →F
FB18 : →x
FB19 : →y
FB1A : M+
FB1B : M-
FD18 : Ran#
Supported tokens:
Legend:
Hexadecimal -- Internal code, also visible in QR code URL
Description -- On-calc notation associated with token
Interpreter -- Whether interpreter supports the feature
BitcodeLexer -- Whether the URL lexer supports the token
TextLexer -- Whether the text lexer supports the token
Hexadecimal Description Feature BitcodeLexer TextLexer
------------------------------------------------------------------------------
00 End of parameter Yes Yes Yes
21 e Yes Yes -
22 π Yes Yes -
23 : - - -
25 ? - - -
2C ; - - -
2D ×10 Yes Yes Yes
2E , Yes Yes Yes
30 0 Yes Yes Yes
31 1 Yes Yes Yes
32 2 Yes Yes Yes
33 3 Yes Yes Yes
34 4 Yes Yes Yes
35 5 Yes Yes Yes
36 6 Yes Yes Yes
37 7 Yes Yes Yes
38 8 Yes Yes Yes
39 9 Yes Yes Yes
40 M Yes Yes Yes
41 Rép (Ans) - - -
42 A Yes Yes Yes
43 B Yes Yes Yes
44 C Yes Yes Yes
45 D Yes Yes Yes
46 E Yes Yes Yes
47 F Yes Yes Yes
48 x Yes Yes Yes
49 y Yes Yes Yes
4A Pré-Rép - - -
4C θ Yes - -
60 ( Yes Yes Yes
68 Abs( Yes Yes -
69 Rnd( Yes Yes -
6C sinh( Yes Yes -
6D cosh( Yes Yes -
6E tanh( Yes Yes -
6F sinh⁻¹( Yes Yes -
70 cosh⁻¹( Yes Yes -
71 tanh⁻¹( Yes Yes -
72 e^ Yes - -
73 10^ Yes - -
74 √( Yes Yes -
75 ln( Yes Yes -
76 ³√( Yes Yes -
77 sin( Yes Yes -
78 cos( Yes Yes -
79 tan( Yes Yes -
7A Arcsin( Yes Yes -
7B Arccos( Yes Yes -
7C Arctan( Yes Yes -
7D log( Yes Yes -
7E Pol - - -
7F Rec - - -
83 Ent( Yes Yes -
84 EntEx( Yes Yes -
87 RanInt#( Yes Yes -
88 PGCD( - - -
89 PPCM( - - -
8A Arond( Yes Yes -
A5 = Yes Yes Yes
A6 + Yes Yes Yes
A7 - Yes Yes Yes
A8 × Yes Yes Yes
A9 ÷ Yes Yes Yes
AA ⊢ - - -
AD P - - -
AE C - - -
C0 - Yes Yes Yes
C8 ⌋ - - -
C9 ^( - - -
CA [x]√( - - -
D0 ) Yes Yes Yes
D4 ⁻¹ - - -
D5 ² - - -
D6 ³ - - -
D7 % Yes Yes Yes
D8 ! - - -
D9 ° - - -
DA ʳ - - -
DB ᵍ - - -
DC ° - - -
DD E - - -
DE P - - -
DF T - - -
E0 G - - -
E1 M - - -
E2 k - - -
E3 m - - -
E4 μ - - -
E5 n - - -
E6 p - - -
E7 f - - -
E9 ▶Simp - - -
F901 end of line Yes Yes Yes
F902 end of program Yes Yes Yes
F903 empty line - - -
F905...00 Avancer de ... Yes Yes Yes
F906...00 Tourner de ↺ ... Yes Yes Yes
F907...00 S'orienter à ... Yes Yes Yes
F908...00...00 Aller à x=...; y=... Yes Yes Yes
F909 Stylo écrit Yes Yes Yes
F90A Stylo relevé Yes Yes Yes
F90B...00...00 ...→... (Mettre var à) Yes Yes Yes
F90C...00 : ?→... (Demander valeur) - - -
F90D3100 "Oui" - - -
F90D3200 "Non" - - -
F90D3300 "Nombre?" - - -
F90D3400 "Résultat:" - - -
F90E...00 Afficher résult ... Yes Yes Yes
F90F3100 Style Flèche - - -
F90F3200 Style Croix - - -
F910 Attendre Yes Yes Yes
F911...00 Répéter ... Yes Yes Yes
F912 (end of Répéter) Yes Yes Yes
F913...00 Répéter jusqu'à ... Yes Yes Yes
F914 (end of Répéter jusqu'à) Yes Yes Yes
F915...00 Si ... Alors Yes Yes Yes
F916 (end of Si/Alors) Yes Yes Yes
F917...00 Si ... Alors ... Sinon Yes Yes Yes
F918 Sinon Yes Yes Yes
F919 (end of Si/Alors/Sinon) Yes Yes Yes
FB01 < Yes Yes Yes
FB02 > Yes Yes Yes
FB03 ≠ Yes Yes Yes
FB04 ≤ Yes Yes Yes
FB05 ≥ Yes Yes Yes
FB10 →M - - -
FB12 →A - - -
FB13 →B - - -
FB14 →C - - -
FB15 →D - - -
FB16 →E - - -
FB17 →F - - -
FB18 →x - - -
FB19 →y - - -
FB1A M+ - - -
FB1B M- - - -
FD18 Ran# - - -

10
fx92.py
View File

@ -3,11 +3,11 @@
import sys
import getopt
from parser import Parser
from lexer import UrlLexer, TextLexer
from printer import print_ast
from drawing import Window, InterruptException
from interpreter import Context
from fx92.parser import Parser
from fx92.lexer import UrlLexer, TextLexer
from fx92.printer import print_ast
from fx92.drawing import Window, InterruptException
from fx92.interpreter import Context
#---
# Main program

0
fx92/__init__.py Normal file
View File

View File

View File

@ -1,6 +1,6 @@
# fx-92 Scientifique Collège+ language interpreter: AST interpreter
from ast import N, Node
from fx92.ast import N, Node
import math
class Context:

View File

@ -1,8 +1,8 @@
# fx-92 Scientifique Collège+ language interpreter: Syntactic analysis
import re
from lexer import T, Token, BitcodeLexer
from ast import N, Node
from fx92.lexer import T, Token, BitcodeLexer
from fx92.ast import N, Node
#---
# LL(1) parser

View File

@ -1,6 +1,6 @@
# fx-92 Scientifique Collège+ language interpreter: AST printer
from ast import N, Node
from fx92.ast import N, Node
#---
# Message definitions