---
title: "Testa min parser och programmeringsspråk"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/47458-testa-min-parser-och-programmeringsspråk"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Sang-drax"
published: "2002-07-07T23:02:42.000Z"
updated: "2002-11-24T18:56:16.000Z"
replies: 9
views: 933
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/47458-testa-min-parser-och-programmeringsspråk"
---

# Testa min parser och programmeringsspråk

## #1 — Sang-drax, 2002-07-07T23:02Z

Jag bestämde mig för att prova på att göra en parser.
Det fungerade och jag vidareutvecklade den till ett enkelt programmeringsspråk, kallat Omicron.

Det skulle vara trevligt om någon ville testa parsern och/eller kompilatorn och hitta buggar som säkert finns där.

Dokumentation finns på:
<http://www.strandmark.com/omicron.shtml>

Språket stödjer:
\*Multi-dimensional arrays 
\*Definition of new operators 
\*Built-in mathematical operations (derive, eq solver) 
\*Most C++ operators 
\* ^ (power) operator 
\*Run-time user input 

En stor nackdel är hastigheten, men man kan ju inte få allt...

[Ladda hem](http://strandmark.com/program/OmicronSetup.exe)

(EDIT: mycket har förändrats...)

Permalänk: https://www.webforum.nu/p/47458

## #2 — sgtpepper, 2002-07-08T09:27Z

Snyggt!

Jag har bara kikat som hastigast på det och jag är imponerad! Jag skall testa mer ingående senare.

En liten grej slog mig, när jag försöker köra program som tar inmatningar i det grafiska gränssnittet så får jag ett fel, "C++ Exception", du borde istället langa upp en dialogruta som förklarar att man måste köra program som tar inmatningar i konsoll-läget, så att man inte blir så förvirrad :).

Permalänk: https://www.webforum.nu/p/714944

## #3 — Sang-drax, 2002-07-09T12:39Z

Hmm, det där "C++ Exception" kommer inte upp på min dator.
Får ta och fixa det.

Permalänk: https://www.webforum.nu/p/715708

## #4 — Sang-drax, 2002-07-11T11:02Z

Uppdatering

Jag har uppdaterat programmet lite.

Förutom att fixa ovanstående bugg, har jag även lagt till rutiner för in- och utmatning till filer.

För er som undrar hur kod kan se ut, kommer här ett exempel.

```
//
// DERIVE
//
// Made ny Petter Strandmark
//

print "Enter the function you wish to derive: f(x)="
function "func" "x" input

print "For which x do you want to calculate: "
x = input

h = 0.00001

derivate = (func(x+h) - func(x)) / h

print "The derivate is " derivate
```

 

Kod för in- och utmatning ser ut så här:

```
//
// This program demonstrates file i/o
// Made by Petter Strandmark 2002
//

//First, write a file
//set output to file
redirect_output "test.txt"

//write a few lines to the file
print 123.12       "\n"
print "Petter's test \n"
print 12+12        "\n"
print "pi = " p    "\n"

//Set output to screen again
//This command also closes the file
redirect_output "default"

//Now, read the lines from the
//file and print them

redirect_input "test.txt"

//Print lines until the file has ended
repeat
 print input_str "\n"
until eof
//(eof = end of file)
```

Bilagor:

- [omicron.zip](https://www.webforum.nu/a/253.zip)

Permalänk: https://www.webforum.nu/p/719839

## #5 — Toonster, 2002-07-12T13:29Z

Några synpunkter, rent allmänt:

Du har inget radavslutningstecken, typ ; i C/C++. Skulle det inte vara bra, då kan man köra fler instruktioner per rad, och det borde vara lättare att parsa en korrekt avslutad kodrad?

```
function "func" "x" input
```

Förstår inte varför deklarationen av "func"  och "x" har cituationstecken? förbryllande om tilldelning av variabler och deklaration av variabler (textsträngar) också har det?

Inget allvarligt menat, det är ju ditt "projekt", se det som "undrande konstruktiv kritik" :)

/T

Permalänk: https://www.webforum.nu/p/720379

## #6 — Sang-drax, 2002-07-12T18:18Z

Jag har inget radavslutningstecken för att jag vill hålla spåket på en så enkel nivå som möjligt.
Det skulle vara mkt enkelt att ha ett ; som avgränsare.

```
//const char LineDelimiter = '\n'; 
const char LineDelimiter = ';';
```

 
Men jag tycker det blir enklast så. Alla riktlinjer för snygg källkod säger att man ska hålla sig till ett statement per rad.

Vad beträffar deklarationen av funktion så fungerar det så här:

\*När man ska använda själva funktionen, dvs anropa den, skriver man utan "
\*När man refererar till själva *namnet*, när man t ex deklarerar eller deriverar den, skriver man med "

Samma sak gäller för variabler.
Dock får jag nog hålla med dig, det kan nog kännas lite konstigt :l

Permalänk: https://www.webforum.nu/p/720497

## #7 — Sang-drax, 2002-10-12T23:05Z

Under de månader som gått har mycket hunnit uppdateras och förändras. Tonvis med nya saker har lagts till och förbättrats.

Bland annat så har den fula syntaxen 
  function "func" "x" input
bytts ut mot
  function func(x) = input

Jag läste igenom reglerna som hastigast och hittade ingen regel mot att "bumpa" threads, vilket det jag gör nu får räknas som.

Permalänk: https://www.webforum.nu/p/819673

## #8 — trexter.com, 2002-11-24T16:19Z

Hur har du programmerat detta språker? I C++ ?

Permalänk: https://www.webforum.nu/p/863383

## #9 — Viktor, 2002-11-24T16:25Z

> **trexter.com skrev:**
>
> Hur har du programmerat detta språker? I C++ ?

Taget från sidan

> Compiler written in C++

/Viktor

Permalänk: https://www.webforum.nu/p/863386

## #10 — Sang-drax, 2002-11-24T18:56Z

Yup, alla Omicron-kompilatorer är skrivna i C++. Vore kul att få till en skriven i Java, men det tar nog för lång tid och så blir den kanske för slö.

Om det är någon som är duktig på matematik och kan tala om hur man mha typ Newton-Raphsons metod löser ekvationer på formen

f1(x1,x2,...,xn) = 0
f2(x1,x2,...,xn) = 0
...
fn(x1,x2,...,xn) = 0

så vore jag tacksam.

(edit)
NM, jag hittade ett dokument med google som hjälpte mig
<http://www.economics.unimelb.edu.au/simulation/newton-raphson1.pdf>

Permalänk: https://www.webforum.nu/p/863449

---

Tråden på webben: https://www.webforum.nu/amne/programmering/47458-testa-min-parser-och-programmeringsspråk
