JGrail Help

Questions

General

  1. What is JGrail?
  2. What is Grail+?
  3. Can I use tools other than Grail+?
  4. Who do I contact about JGrail?

Usage

  1. How do I modify the information presented in the combo boxes?
  2. How can I set a default directory to where I save my input/output data?

Technical

  1. How can I use the Grail+ functions that take a literal string as an argument?
  2. How come I can't get Grail+'s "flexec" and/or "fmexec" commands to work in JGrail?
  3. How come I can't get the function "test a word for membership in a finite language" to work in JGrail?
  4. How come I can't get the function "test a word for membership in the language of a finite-state machine" to work in JGrail?
  5. How do I manually modify the configuration file?



Answers

General

  1. What is JGrail?

    JGrail is a graphical interface to the Grail+ command-line tools. The Grail+ tools perform all the computations; JGrail itself merely presents this information in a nice graphical screen.


  2. What is Grail+?

    Grail+ is a project that provides command-line tools to perform computations on languages, automata and regular expressions. More information can be obtained at the Grail+ Home Page . or its mirror Grail+ Mirror.


  3. Can I use tools other than Grail+?

    Yes, you'll need to set the programs location and modify the combo box information. You can do this via How do I modify the information presented in the combo boxes?

    In order to do this, your program tools must conform to the Grail+ command syntax:
    command file1 [file2] , where file2 is only applicable if the command expects two arguments.

    If your program tools expect one of the arguments to be a literal string (e.g. command file1 "mystring" ), then please refer to How do I setup JGrail to use Grail+ functions that take a literal string as an argument?


  4. Who do I contact about JGrail?

    Please refer to Dr.Cezar Campeanu's Home Page


Usage

  1. How do I modify the information presented in the combo boxes?

    You can change JGrail settings via the Configure menu. Go to Configure > Modify Program Settings.


  2. How can I set a default directory to where I save my input/output data?

    You can change JGrail settings via the Configure menu. Go to Configure > Modify Program Settings.


Technical

  1. How do I setup JGrail to use Grail+ functions that take a literal string as an argument?

    In order to do this, you'll need to manually modify the configuration file. To specify a function that takes a literal string argument, type (TAKES_STRING_ARG) after the command name.

    For example, cmd=fmexec (TAKES_STRING_ARG)

    In order to use the function properly in JGrail, please refer to How come I can't get Grail+'s "flexec" and/or "fmexec" commands to work in JGrail?

    fmexec file1 "abc"


  2. How come I can't get Grail+'s "flexec" and/or "fmexec" commands to work in JGrail?

    "flexec" and "fmexec" are examples of functions which take a literal string as one of its arguments. Assuming that your configuration file has been correctly modified (as explained in How do I setup JGrail to use Grail+ functions that take a literal string as an argument? ), then you place the file data in the First Input panel and the literal string in the Second Input panel.
    So, if you wanted to check that "abc" is in a language L, you would type the following in JGrail:

    First Input Panel Second Input Panel
    bb abc
    cc  
    abc  

    The language MUST be placed in the First Input Panel, with the literal string in the Second. This is because JGrail will execute the command as in the following:
    flexec file1 "abc"
  3. How come I can't get the function "test a word for membership in a finite language" to work in JGrail?

    Please refer to How come I can't get Grail+'s "flexec" and/or "fmexec" commands to work in JGrail?


  4. How come I can't get the function "test a word for membership in the language of a finite-state machine" to work in JGrail?

    Please refer to How come I can't get Grail+'s "flexec" and/or "fmexec" commands to work in JGrail?


  5. How do I manually modify the configuration file?

    Open up the configuration file in a text editor and follow the given syntax. The file uses a straightforward "name=value" syntax.

    The configuration file can be found under the .jgrail directory in the user's home directory. Therefore, if the user's home directory is /home/john/ , the file can be found in /home/john/.jgrail/