tranleduy2000 / pascalnide

Pascal Compiler for Android
92 stars 25 forks source link
android interpreter pascal pascal-compiler pascal-nide

Pascal NIDE - Pascal Compiler for Android

Wall

See app on Google Play Store

Overview

The application is a Pascal interpreter on Android. This application is confusing for everyone to learn Pascal on the mobile without a computer, so that we can practice anytime, anywhere.

If you want to translate this app, please visit this link http://osewnui.oneskyapp.com/collaboration/project/272800

The main features of the IDE:

  1. Compile Pascal programs and run them without Internet.
  2. Report error when compiling
  3. Powerful editor with many smart features:
    • File menu: create a new program file, open, save,automatically save file
    • Menu edit: Undo, redo, copy, paste.
    • Auto suggest: Display a small popup window that suggests words that coincide with the word being typed
    • Auto format: automatically reformat the code for easier viewing.
    • Find / Find and replace: Regular Expression support.
    • Goto line: Move the cursor to a line.
    • Highlight code: highlight the keywords.
    • Code style: many interface for the editor.
    • Font size, font, word wrap.
  4. Support library Android (Sensor, battery, record audio, camera...)
  5. Support Java in Pascal
  6. Auto fix parsing error
    • declare type
    • declare procedure
    • declare constant
    • declare function
    • declare variable
    • Fix wrong type
    • Fix missing token
    • Fix group exception
    • Change constant to variable
    • Fix missing begin end
    • Change type of constant
    • Change type of variable
    • Fix missing dot token

Features that the interpreter is missing

Libraries supported for Android

Java under Pascal - JPascal

Pascal N-IDE allows write program with objects class of Java, which seems crazy :), but it is possible. I reprogrammed a whole platform. Therefore, you can completely use the class of Java (such as java.util.ArrayList or java.net.Socket to program Socket). That's great, isn't it?.

For more information, please read the java_under_pascal.md wiki for details. Link instruction

Here is an example of using Socket

var
    sk: java_net_Socket;
    ipAddress: string;
    Port: integer;

begin
    ipaddress := '192.168.1.1';
    port := 80;

    {Socket sk = new Socket(ipAddress, port)}
    New(sk, ipAddress, port);

    writeln(sk);
    writeln(sk.isConnected());
end.

or ArrayList in Java

var
    list: java_util_ArrayList;
    i: integer;
begin
    new(list);

    for i := 1 to 10 do
        list.add(i);

    for i := 1 to 10 do
        writeln(list.get(i));

end.

How to contribute

All contributions are welcome, include code, documentation, suggestions, bug reports, ... . Use github pull request feature or email me. Many thanks for your help To help translate this app, please visit http://osewnui.oneskyapp.com/collaboration/project?id=272800

Tutorials

  1. Google Voice
  2. Scan Barcode/QR code
  3. Text To Speech
  4. Generate Tone DFMT
  5. RGB Color

See in https://pascalnide.wordpress.com/

  1. How to create communication application by voice with Pascal N-IDE>

If you want to help me write a tutorial, please email to me.

License

The code in this repository is licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

NOTE: This software depends on other packages that may be licensed under different open source licenses.

Developer

Trần Lê Duy